如何阅读这一小段XML?

时间:2013-03-29 11:09:14

标签: c# xml windows-phone-7

我一直在坚持这个XML文件。我的XAML中有12个TextBlock,我想将每个节点放在相应的TextBlock中

<Producten>
  <Tariefeenheden>52</Tariefeenheden>
  <Product naam="Enkele reis">
     <Prijs korting="vol tarief" klasse="2">9.00</Prijs>
     <Prijs korting="reductie_20" klasse="2">7.20</Prijs>
     <Prijs korting="reductie_40" klasse="2">5.40</Prijs>
     <Prijs korting="vol tarief" klasse="1">15.30</Prijs>
     <Prijs korting="reductie_20" klasse="1">12.20</Prijs>
     <Prijs korting="reductie_40" klasse="1">9.20</Prijs>
  </Product>
  <Product naam="Dagretour">
     <Prijs korting="vol tarief" klasse="2">18.00</Prijs>
     <Prijs korting="reductie_20" klasse="2">14.40</Prijs>
     <Prijs korting="reductie_40" klasse="2">10.80</Prijs>
     <Prijs korting="vol tarief" klasse="1">30.60</Prijs>
     <Prijs korting="reductie_20" klasse="1">24.40</Prijs>
     <Prijs korting="reductie_40" klasse="1">18.40</Prijs>
  </Product>
</Producten>

我怎样才能做到这一点?

亲切的问候, 尼尔斯

编辑:我想得到......的价值,例如“9.00”,“7,20”等。

1 个答案:

答案 0 :(得分:2)

这样您就可以阅读klasse

的所有字符串值
XmlDocument xml = new XmlDocument();
xml.Load(YOUR XML FILE PATH);

XmlNodeList xnList = xml.SelectNodes("Producten/Product/Prijs");
List<string> values = new List<string>();

foreach (XmlNode xn in xnList)
{
    var result = xn.Attributes["klasse"].InnerText;
}

//textBlock1.Text = values[0];
//textBlock2.Text = values[1];
//textBlock3.Text = values[2];

编辑:如果您在 WindowPhone 中进行操作,则可以使用XDocument。这是代码:

var doc = System.Xml.Linq.XDocument.Load(YOUR XML FILE PATH);
List<string> values = new List<string>();
foreach (System.Xml.Linq.XElement item in doc.Descendants("Prijs"))
{
     values.Add(item.Attribute("klasse").Value);
}

//textBlock1.Text = values[0];
//textBlock2.Text = values[1];
//textBlock3.Text = values[2];