我已經閱讀了許多有關此主題的問題,但似乎與我正在嘗試做的事情有關。基本上,我打電話給Web服務以返回有關車輛識別號碼(VIN)的信息。它返回一個看起來像這樣的XML流:解析由Web服務響應返回的xml
<VINquery Version="1.0.0" Date="5/25/2003">
<VIN Number="1HGES15501Lxxxxxx" Status="SUCCESS">
<Vehicle VINquery_Vehicle_ID="23261" Model_Year="2001" Make="Honda" Model="Civic" Trim_Level="LX Sedan">
<Item Key="VINquery Vehicle ID" Value="23261" Unit=""/>
<Item Key="Model Year" Value="2001" Unit=""/>
<Item Key="Make" Value="Honda" Unit=""/>
<Item Key="Model" Value="Civic" Unit=""/>
<Item Key="Trim Level" Value="LX Sedan" Unit=""/>
<Item Key="Manufactured in" Value="UNITED STATES" Unit=""/>
<Item Key="Production Seq. Number" Value="xxxxxx" Unit=""/>
<Item Key="Body Style" Value="SEDAN 4-DR" Unit=""/>
<Item Key="Engine Type" Value="1.7L L4 SOHC 16V" Unit=""/>
<Item Key="Transmission-short" Value="5M OD" Unit=""/>
<Item Key="Transmission-long" Value="5-Speed Manual Overdrive" Unit=""/>
<Item Key="Driveline" Value="FWD" Unit=""/>
<Item Key="Tank" Value="13.20" Unit="gallon"/>
<Item Key="Fuel Economy-city" Value="30 - 32" Unit="miles/gallon"/>
<Item Key="Fuel Economy-highway" Value="38 - 39" Unit="miles/gallon"/>
<Item Key="Anti-Brake System" Value="Non-ABS" Unit=""/>
<Item Key="Steering Type" Value="R&P" Unit=""/>
<Item Key="Standard Seating" Value="5" Unit=""/>
<Item Key="Optional Seating" Value="No data" Unit=""/>
<Item Key="Length" Value="174.60" Unit="in."/>
<Item Key="Width" Value="67.50" Unit="in."/>
<Item Key="Height" Value="56.70" Unit="in."/>
</Vehicle>
</VIN>
</VINquery>
我想利用這些數據和分析它爲每個鍵/值。 這是我的代碼,我使用的獲取XML數據:
private string baseURL = "http://ws.vinquery.com/restxml.aspx?accessCode=xxxxxx&vin=xxxxxxxxx";
private string reportType = "&reportType=2";
public XmlDocument ExplodeVIN(string strVIN)
{
DataTable dt = new DataTable();
string url = baseURL + strVIN + reportType;
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
XmlDocument xmlDoc = new XmlDocument();
using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
{
xmlDoc.Load(resp.GetResponseStream());
}
return xmlDoc;
}
後,我得到了xmlDoc中,我不知道下一步該怎麼做。
感謝您的協助。
我不明白你的行:var xdoc = XDocument.Parse(xml)。解析方法查找字符串。字符串xml從哪裏來? – Ryan
@Ryan應該是服務響應字符串。如果你有響應流,然後使用'XDocument.Load(stream)'而不是 –
這似乎是在關閉... var items = xdoc.Descendants(「Item」)。ToDictionary(i =>(string)i.Element (「Key」), i =>(string)i.Element(「Value」));導致一個參數爲空的異常,我不知道爲什麼 – Ryan