我想得到的节点id值取决于C#中的另一个节点值,
示例:从以下xml文件开始,我想在节点<name>
<id> = 10
值
<studymonth2>
<id>11</id>
<name>November</name>
</studymonth2>
<studymonth2>
<id>12</id>
<name>December</name>
</studymonth2>
感谢您的任何建议
答案 0 :(得分:2)
您可以使用以下XPath:
studymonth2[id='10']/name/text()
简单地说,这会告诉解析器返回name
的{{1}}子项的值,其中studymonth2
子项的值为10.
修改强>
在C#中,您可以使用id
或XmlDocument
通过xpath访问节点:
e.g。给出xml文件:
XDocument
使用<xml>
<studymonth2>
<id>11</id>
<name>November</name>
</studymonth2>
<studymonth2>
<id>12</id>
<name>December</name>
</studymonth2>
</xml>
:
XmlDocument
使用Linq 2 Xml:
using System.Xml;
....
XmlDocument doc = new XmlDocument();
doc.Load(@"c:\temp\myxml.xml");
string name = doc.SelectSingleNode("//studymonth2[id='11']/name")
.InnerText;