l'analyse de xml retourné par la réponse du service web
J'ai lu beaucoup de questions sur DONC sur ce sujet, mais je peux paraître liée à ce que je suis en train de faire. Fondamentalement, je suis d'appeler un service web pour renvoyer des informations sur un Numéro d'Identification du Véhicule (NIV). Elle renvoie un flux xml qui ressemble à ceci:
<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>
Je veux prendre que les données et les analyser pour chaque clé/valeur.
C'est mon code, je suis en utilisant le obtenir les données 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;
}
Après je reçois le xmlDoc je ne suis pas sûre de savoir quoi faire ensuite.
Merci pour votre aimable assistance.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez analyser xml pour
Dictionary<string, string>
avec Linq to Xml:Utilisation:
Ou
XDocument.Load(stream)
au lieuSteering Type
clé. Esperluette doivent être échappés comme&
Il est une autre façon que j'ai l'habitude de l'utiliser pour traiter avec xml.
Étape 1: Copie de votre chaîne xml et coller comme un classes.
Lorsque vous le collez, ce code sera généré automatiquement:
Étape 2:
Désérialiser votre chaîne xml pour cette classe générée.
Maintenant, vous pouvez facilement manipuler et filtrer vos résultats.
P. S.: Vous devez supprimer les caractères spéciaux (&) dans votre chaîne xml, car elle provoque un problème lorsque vous essayez de coller en tant que classes.