【发布时间】:2012-08-22 10:17:59
【问题描述】:
我使用 XSD2Code 创建了一组 C# 类,这些类表示我当前从 Web 服务调用中检索的 XML 文档。
Web 服务调用返回的对象是 XMLNode 类型。
我想从生成的类创建一个对象,然后从 XMLNode 填充它。
似乎已经生成的最外面的类是NewDataSet。
我对如何创建/填充该对象有点困惑。 我需要使用反序列化吗?
【问题讨论】:
标签: xml c#-4.0 xsd xmlnode linq-to-xsd
我使用 XSD2Code 创建了一组 C# 类,这些类表示我当前从 Web 服务调用中检索的 XML 文档。
Web 服务调用返回的对象是 XMLNode 类型。
我想从生成的类创建一个对象,然后从 XMLNode 填充它。
似乎已经生成的最外面的类是NewDataSet。
我对如何创建/填充该对象有点困惑。 我需要使用反序列化吗?
【问题讨论】:
标签: xml c#-4.0 xsd xmlnode linq-to-xsd
我最终解决这个问题的方法如下。
我使用项目 Linq to XSD 项目: http://linqtoxsd.codeplex.com/
使用 XSD 我创建了一组新的 C# 类 从命令提示符
C:\Linq2XSD\linqtoxsd.2.0.2.56002-bin>LinqToXsd.exe vehicle.xsd
[Microsoft (R) .NET Framework, Version v4.0.30319]
Generated vehicle.cs...
然后我将此 C# 文件导入到我的代码中。
我必须添加对 Xml.Scheme.Linq 库的引用 然后我可以创建一组填充的对象:
VehiclesData vehicleData = VehiclesData.Parse(vehiclesXMLNode.OuterXml);
并使用 Linq 访问类型化的 XML,如下所示:
string vehicleColour = vehicleData.DataArea.Vehicles.Vehicle.ColourCurrent;
等等!
【讨论】: