如何从windows phone中的xmldocument获取(读取)数据,c#

时间:2016-06-14 06:39:06

标签: c# xml windows-phone-8.1 xmldocument

我在手机应用程序中从网络服务获取数据并获得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读取你的帮助。

2 个答案:

答案 0 :(得分:0)

您可以获取特定元素的值,例如

 var fareIndex = XmlDoc.SelectSingleNode("/root/itinerary/FareIndex").InnerText;

如果您想获取root/itinerary -

下所有元素的列表
  XmlNodeList xnList = XmlDoc.SelectNodes("/root/itinerary/*");

This link might help you.

答案 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
}