C#の別のノード値に依存するノードID値を取得したい例:次のxmlファイルから、ノードの場合にノード<name>
値を取得したい<id> = 10
<studymonth2>
<id>11</id>
<name>November</name>
</studymonth2>
<studymonth2>
<id>12</id>
<name>December</name>
</studymonth2>
アドバイスありがとうございます
次のXPathを使用できます。
studymonth2[id='10']/name/text()
簡単に言えば、これはパーサーに、値10の子を持つのname
子の値を返すように指示します。studymonth2
id
編集
C#では、XmlDocument
またはXDocument
xpathを介してノードにアクセスすることができます。
たとえば、与えられた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;