1

私はこの XML ファイルに行き詰まっています。XAML に 12 個の TextBlocks があり、すべてのノードを対応する 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」など

4

1 に答える 1

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];
于 2013-03-29T11:18:37.073 に答える