我想获取节点 id 值取决于 C# 中的另一个节点值,例如:从以下 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;