在没有架构的情况下定义 XML 文件

Defining XML file without its Schema

我认为我们创建 XML 的 Schema 是为了定义 XML 元素及其结构。我想,我们必须在创建 XML 文件之前定义 XSD。换句话说,没有 xsdxml 文件是没有意义的。

今天我运行这段代码,

   XmlWriter XmlWriter = XmlWriter.Create("Test.xml");

            XmlWriter.WriteStartDocument();

            XmlWriter.WriteStartElement("Users");
            XmlWriter.WriteStartElement("User");
            XmlWriter.WriteStartAttribute("Salman", "24");

            XmlWriter.WriteString("Salman");

            XmlWriter.WriteEndElement();
            XmlWriter.WriteEndDocument();
            XmlWriter.Close();

当我找到我的输出时,没有任何 XSD 文件。只有 Test.xml。 所以我的问题是:

XSD 个文件的确切作用是什么?

如果我是对的,为什么 C# 不生成输出?

XSDs 用于验证 XML 文件,但它是可选的,不是必需的。如果您正在从同一个应用程序写入/读取,并且您控制对 XML 文件的所有访问,并在事情不起作用时使用 error/exception 处理,则不需要 XSD .

在应用程序之间传递数据时,XSD 作为合同确保双方理解并同意所传递的 XML 文件的格式。