2

我一直在使用 Linq To XML 将 XML 文档映射到 .NET 对象。

谁能指导我是否存在我可以传递 XML 文档(字符串)并强烈返回 Type .NET OBject 的地方?

我一直在查看 XSD2Code 并在传递整个 XML 时遇到问题,因为它似乎为每个元素创建了单独的类。

4

2 回答 2

3

相当容易:

  1. 获取您的 XML 并通过xsd.exe命令行工具运行它:

    c:\> xsd.exe yourfile.xml
    

    这将生成一个对应的 XML 模式文件 ( yourfile.xsd)

  2. 再次运行该xsd.exe工具,这次是在 XSD 文件上,以获取 C# 类:

    c:\> xsd.exe /c yourfile.xsd
    

    yourfile.cs这将生成一个代表您的 XML 内容的 C# 类

  3. 在项目中使用该类,只需将您的 XML 反序列化为 C# 对象:

    XmlSerializer ser = new XmlSerializer(typeof(YourClass));
    
    var result = ser.Deserialize(new FileStream(@"D:\temp\yourfile.xml", FileMode.Open));
    

    如果一切正常,您result现在包含一个 C# 类实例,它以 1:1 的比例表示该 XML 文件的内容。

而已!

于 2011-08-12T05:51:23.290 回答
0

只需使用实用xsd程序。

IIRC,你叫它xsd /c yourschema.xsd > classes.cs

如果你有一堆没有模式的 XML,你也可以用它xsd来尝试推断模式。无论如何,这应该是一个很好的起点:)

于 2011-08-12T05:49:46.010 回答