1

我总是必须编写一个 XML 序列化程序类,以便在我使用 XML 文件作为结构化信息存储的不同应用程序中将数据保存到磁盘。

有没有一种工具可以提供 XML 结构的示例,它会生成一个 c-sharp 类来处理这种 xml 结构?

例如,我想使用“项目”的 XML 存储

<projectsInfo>
    <projectTypes>
        <Type>super</Type>
        <Type>best</Type>
    </projectTypes>

    <projects>
        <project>
              <name>One</name>
              <p-type>best</p-type>
        </project>
    </projects>    
</projectsInfo>

它会生成一个支持 Linq-to-XML 的类来添加/远程类型和项目实例。

也许这已经是我不知道的常见解决方案,或者每个人都在使用内存对象的内置 XML 序列化?

4

3 回答 3

1

c# has the XmlSerializer class that is designed to serialise objects to XML files. You can simply annotate your class with various attributes to format the XML. (eg [XmlElement],[XmlAttribute] etc.)

于 2012-06-11T11:16:51.057 回答
1

如果您有 XSD,则可以使用在 Visual Studio 命令行中打开的 xsd.exe 生成它。

更多信息: http: //msdn.microsoft.com/en-us/library/x6c1kb0s (VS.71).aspx

这将自动从 XSD 生成类,并且可以从 XML 生成 XSD。

于 2012-06-11T11:23:23.883 回答
0

您可以使用 Visual Studio 提供的 XSD 实用程序基于您的 xml 文件生成类/模式。一旦有了类,就可以使用 XmlSerializer 将文件序列化/反序列化为类的实例。LINQ 将使用实现的类中的任何属性IEnumerable<T>(任何集合)。
使用 .net 4,您还可以使用dynamic关键字来构建动态 xml 包装器,但我不确定它是否太舒服/有用

于 2012-06-11T11:24:22.370 回答