0

これは私が持っているXMLです:

<ordinanze>
    <dataagg>17/10/2012 ore 16:30</dataagg>
    <ordinanza>
        <numero>02/2012</numero>
        <titolo>02/2012</titolo>
    </ordinanza>

    <ordinanza>
        <numero>02/2012</numero>
        <titolo>02/2012</titolo>
    </ordinanza>

    <ordinanza>
        <numero>02/2012</numero>
        <titolo>02/2012</titolo>
    </ordinanza>
</ordinanze>    

ordinanzaそして、属性(残りではない)を使用して最初のレベルを参照したいので、foreachに3つのノードがあります。どうすればいいですか?

私のコード:

XmlNodeList StudentNodeList = myXmlDocument.SelectNodes("ordinanza");

foreach (XmlNode node in StudentNodeList)
{
    Response.Write(node.SelectSingleNode("//numero[1]").InnerText);
}

しかし、それは何も印刷しません!

4

3 に答える 3

3

LinqToXmlを使用するのはどうですか

var xDoc = XDocument.Parse(xml); //or XDocument.Load(fileName)
var list =  xDoc.Descendants("ordinanza")
                .Select(n => new
                {
                    Numero = n.Element("numero").Value,
                    Titolo = n.Element("titolo").Value,
                })
                .ToList();
于 2012-10-17T15:39:34.413 に答える
0

XElementとLinqtoXMLを使用してみてください。

于 2012-10-17T15:34:17.293 に答える
0

XPathが正しくありません。これが私のお気に入りのXPathリファレンスです。foreachで3つのノードを取得する方法についての質問に答えるには

var students = myXmlDocument.SelectNodes("/ordinanze/ordinanza");

ただし、まだ慣れていない場合は、LINQに手を出すことをお勧めします。

于 2012-10-17T15:37:49.270 に答える