我想获取节点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()
简单地说,这告诉解析器返回 studymonth2
的 name
子级的值,其中 id
子级的值为 10。
编辑
在 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;
关于c# - 如何在 C# 中获取另一个节点值指定的节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14123037/