在VS2005中使用XSD文件

时间:2010-05-18 06:21:22

标签: xml visual-studio visual-studio-2005 xml-serialization

我想写一个XML文件。我创建了一个名为XMLSchema.xsd的XSD文件,并运行生成c#类文件的命令'xsd / c XMLSchema.xsd'。现在,我如何使用此文件生成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#网络程序中调用“root”?

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

装载:

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);
    }
}