我一直在使用Linq To XML来将XML DOcument映射到.NET OBjects。
有没有人可以指导我是否存在我可以传递XML Document(字符串)并且它返回强类型.NET OBject?
我一直在研究XSD2Code并且在传递整个XML时遇到问题,因为它似乎为每个元素创建了单独的类。
答案 0 :(得分:2)
非常简单:
获取XML并通过xsd.exe
命令行工具运行它:
c:\> xsd.exe yourfile.xml
这将生成相应的XML模式文件(yourfile.xsd
)
再次运行xsd.exe
工具,这次是在XSD文件上,以获得C#类:
c:\> xsd.exe /c yourfile.xsd
这将在yourfile.cs
中生成一个C#类,代表您的XML内容
在项目中使用该类,只需将XML反序列化为C#对象:
XmlSerializer ser = new XmlSerializer(typeof(YourClass));
var result = ser.Deserialize(new FileStream(@"D:\temp\yourfile.xml", FileMode.Open));
如果一切正常,您的result
现在包含一个C#类实例,该实例表示XML文件内容的1:1。
就是这样!
答案 1 :(得分:0)
只需使用xsd
util。
xsd /c yourschema.xsd > classes.cs
。
如果您有一堆没有架构的XML,您还可以使用xsd
来尝试推断架构。无论如何,这应该是一个很好的起点:)