我正在尝试使用 Linq 和 Lambda 表达式解析 xml 文档,但需要帮助。我想从中获取数据的节点是 "DiskDriveInfo" ,我也不确定如何处理下一个节点 "ResultCode i:nil="true" "我的代码:var xml = XDocument.Parse(InXML);var r = from x in xml.Elements("DiskDriveInfo") select new { ResultCode = x.Element("ResultCode").Value, ResultCodeDescription = x.Element("ResultCodeDescription").Value, AirbagDetails = x.Element("AirbagDetails").Value, .. .. WheelBase = x.Element("WheelBase").Value };输入是:<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Body> <GetConvergedDataRequestResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://autoinsight.trn.co.za/types"> <ConvergedData xmlns:d4p1="http://schemas.datacontract.orgB2B.BusinessModels" i:type="ConvergedResults"> <AccidentHistory i:nil="true" /> <AlertInfo i:nil="true" /> <CloneInfo i:nil="true" /> <DiskDriveInfo> <ResultCode i:nil="true" /> <ResultCodeDescription i:nil="true" /> <AirbagDetails>DRIVER, PASSENGER</AirbagDetails>......<WheelBase>2460</WheelBase> </DiskDriveInfo>谢谢
2 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
您可以从下面的代码中编写,只需要根据您的 xml 文件创建类,下面是将 xml 直接转换为类对象的函数
public T DeserializeData(string dataXML)
{
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(dataXML);
XmlNodeReader xNodeReader = new XmlNodeReader(xDoc.DocumentElement);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
var modelData = xmlSerializer.Deserialize(xNodeReader);
T deserializedModel = (T)modelData ;
return deserializedModel;
}
- 2 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消