我正在嘗試使用 Linq 和 Lambda 表達(dá)式解析 xml 文檔,但需要幫助。我想從中獲取數(shù)據(jù)的節(jié)點是 "DiskDriveInfo" ,我也不確定如何處理下一個節(jié)點 "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貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
您可以從下面的代碼中編寫,只需要根據(jù)您的 xml 文件創(chuàng)建類,下面是將 xml 直接轉(zhuǎn)換為類對象的函數(shù)
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 關(guān)注
- 189 瀏覽
添加回答
舉報
0/150
提交
取消