2

C#の別のノード値に依存するノードID値を取得したい例:次のxmlファイルから、ノードの場合にノード<name>値を取得したい<id> = 10

<studymonth2>
  <id>11</id>
  <name>November</name>
</studymonth2>

<studymonth2>
  <id>12</id>
  <name>December</name>
</studymonth2>

アドバイスありがとうございます

4

1 に答える 1

2

次のXPathを使用できます。

studymonth2[id='10']/name/text()

簡単に言えば、これはパーサーに、値10の子を持つのname子の値を返すように指示します。studymonth2id

編集

C#では、XmlDocumentまたはXDocumentxpathを介してノードにアクセスすることができます。

たとえば、与えられたxmlファイル:

<xml>
    <studymonth2>
        <id>11</id>
        <name>November</name>
    </studymonth2>

    <studymonth2>
        <id>12</id>
        <name>December</name>
    </studymonth2>
</xml>

XmlDocument

using System.Xml;
....
XmlDocument doc = new XmlDocument();
doc.Load(@"c:\temp\myxml.xml");

string name = doc.SelectSingleNode("//studymonth2[id='11']/name")
                 .InnerText;

Linq 2 Xmlの場合:

using System.Xml.Linq;
using System.Xml.XPath;
....
XDocument doc = XDocument.Load(@"c:\temp\myxml.xml");
string name = doc.XPathSelectElement("//studymonth2[id='11']/name").Value;
于 2013-01-02T13:40:41.587 に答える