我在手机应用程序中从网络服务获取数据并获得xmldocument
的响应,如下所示。
XmlDocument XmlDoc = new XmlDocument();
XmlDoc.LoadXml(newx2);
XmlDoc
的结果如下所示。现在我想从中得到这些值。
<root>
<itinerary>
<FareIndex>0</FareIndex>
<AdultBaseFare>4719</AdultBaseFare>
<AdultTax>566.1</AdultTax>
<ChildBaseFare>0</ChildBaseFare>
<ChildTax>0</ChildTax>
<InfantBaseFare>0</InfantBaseFare>
<InfantTax>0</InfantTax>
<Adult>1</Adult>
<Child>0</Child>
<Infant>0</Infant>
<TotalFare>5285.1</TotalFare>
<Airline>AI</Airline>
<AirlineName>Air India</AirlineName>
<FliCount>4</FliCount>
<Seats>9</Seats>
<MajorCabin>Y</MajorCabin>
<InfoVia>P</InfoVia>
<sectors xmlns:json="http://james.newtonking.com/projects/json">
</itinerary>
</root>
我试过这个。
XmlNodeList xnList = XmlDoc.SelectNodes("/root[@*]");
但它给出了null结果。计数为0
。我怎样才能从this.thanx读取你的帮助。
答案 0 :(得分:0)
您可以获取特定元素的值,例如
var fareIndex = XmlDoc.SelectSingleNode("/root/itinerary/FareIndex").InnerText;
如果您想获取root/itinerary
-
XmlNodeList xnList = XmlDoc.SelectNodes("/root/itinerary/*");
答案 1 :(得分:0)
您可以使用System.Xml.Linq.XElement来解析xml:
XElement xRoot = XElement.Parse(xmlText);
XElement xItinerary = xRoot.Elements().First();
// or xItinerary = xRoot.Element("itinerary");
foreach (XElement node in xItinerary.Elements())
{
// Read node here: node.Name, node.Value and node.Attributes()
}
如果你想使用XmlDocument,你可以这样做:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlText);
XmlNode itinerary = xmlDoc.FirstChild;
foreach (XmlNode node in itinerary.ChildNodes)
{
string name = node.Name;
string value = node.Value;
// you can also read node.Attributes
}