Xml 在VS2005中使用XSD文件

Xml 在VS2005中使用XSD文件,xml,visual-studio,visual-studio-2005,xml-serialization,Xml,Visual Studio,Visual Studio 2005,Xml Serialization,我想写一个XML文件。我创建了一个名为XMLSchema.XSD的XSD文件,并运行命令“XSD/c XMLSchema.XSD”,该命令生成了一个c#class文件。现在,如何使用此文件生成XML文件 我的部分代码: <?xml version="1.0" encoding="utf-8"?> <xs:schema id="XMLSchema" targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefa

我想写一个XML文件。我创建了一个名为XMLSchema.XSD的XSD文件,并运行命令“XSD/c XMLSchema.XSD”,该命令生成了一个c#class文件。现在,如何使用此文件生成XML文件

我的部分代码:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XMLSchema" targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" >
<xs:element name="root">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Audit">
            <xs:complexType>
               ...

...
这将生成一个c#类“root”

如何从我的C#web程序中调用“root”


谢谢

您需要在项目中包含
root.cs
文件,然后才能访问它


为了使用此类读取和写入XML文件,您需要使用。

您需要在项目中包含
root.cs
文件,然后才能访问它


为了使用此类读取和写入XML文件,您需要使用。

正如Oded所说,您只需将生成的文件包含在项目中即可。至于加载/保存,只需为生成的类创建一个新的XmlSerializer,即root。代码:

装载:

using (var fileStream = File.OpenRead(xmlFilePath))
{
    using (var reader = new StreamReader(fileStream))
    {
        Root data;
        var serializer = new XmlSerializer(typeof(Root));

        try
        {
            data = serializer.Deserialize(reader) as T;
        }
        catch (InvalidOperationException exception)
        {
            // XML is invalid
            return null;
        }

        return data;
    }
}
保存:

using (var fs = File.Create(targetPath))
{
    using (var writer = new StreamWriter(fs))
    {
        var serializer = new XmlSerializer(typeof(Root));
        serializer.Serialize(writer, value);
    }
}

正如Oded所说,您只需在项目中包含生成的文件。至于加载/保存,只需为生成的类创建一个新的XmlSerializer,即root。代码:

装载:

using (var fileStream = File.OpenRead(xmlFilePath))
{
    using (var reader = new StreamReader(fileStream))
    {
        Root data;
        var serializer = new XmlSerializer(typeof(Root));

        try
        {
            data = serializer.Deserialize(reader) as T;
        }
        catch (InvalidOperationException exception)
        {
            // XML is invalid
            return null;
        }

        return data;
    }
}
保存:

using (var fs = File.Create(targetPath))
{
    using (var writer = new StreamWriter(fs))
    {
        var serializer = new XmlSerializer(typeof(Root));
        serializer.Serialize(writer, value);
    }
}