gpt4 book ai didi

c# - 用于选择 XML 结构深处的元素的 LINQ 语句

转载 作者:太空宇宙 更新时间:2023-11-03 18:38:48 25 4
gpt4 key购买 nike

我的 XML 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<University>
<Colleges>
<College>
<Id> Cambridge </Id>
<Dept>
<Id> Arts</Id>
</Dept>
</College>
<College>
<Id> Oxford</Id>
<Dept>
<Id> Philosophy </Id>
</Dept>
</College>
</Colleges>
</University>

我想根据ID返回学院。在另一种情况下,我只想写学院的 Id。

我不明白如何写LINQ语句来直接读取Id。我可以在每个阶段使用 Descendants()。但是如何选择XML结构深处的元素呢?

最佳答案

也许您应该使用 XPath。语法将比纯 Linq 查询更简单:

using  System.Xml;
using System.Xml.XPath;
...

public foo()
{
XElement yourNode = XElement.Parse(yourstring);
XElement college = root.XPathSelectElement("//College[Id='Oxford']");
}

如果您可以在结构中的多个位置拥有 College 节点,XPAth 查询 /University/Colleges/College[Id='OxFord'] 将避免冲突问题。

关于c# - 用于选择 XML 结构深处的元素的 LINQ 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11429703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com