<GlobalNavigation>
<primarylink>
<secondarylink>
<linkid>1</linkid>
<linkName>3</linkname>
<secondary>
<leftnav>
<linkid>left1</linkid>
<linkName>linktext</linkname>
</leftnav>
</secondary>
</secondarylink>
</GlobalNavigation>
我想通过提供 linkid 来读取 leftnav 链接名。
最佳答案
最简单的方法是使用 LINQ to XML:
var doc = XDocument.Load(...);
string linkId = "left1";
var linkName = doc.Descendants("leftnav")
.Elements("linkid")
.Where(x => x.Value == linkId)
.Single()
.Parent.Element("linkName").Value;
换句话说:
- 查看每个
leftnav
元素 - 查看其正下方的每个
linkid
元素 - 找到具有所需值的
linkid
元素 - 应该恰好是其中之一(您可能希望在此处使用其他选项,这将改变解决方案的其余部分)。选择这个
linkid
元素。 - 取父元素
- 找到它下面的第一个
linkName
元素 - 提取值(即其中的文本)
关于c# - 如何通过给节点id读取xml中的节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5897657/