gpt4 book ai didi

c# - 如何在 Linq-to-XML 中按路径查找 XML 节点

转载 作者:数据小太阳 更新时间:2023-10-29 01:46:19 25 4
gpt4 key购买 nike

如果我将特定节点的路径作为字符串获取,我能否通过使用 XElement(或 XDocument)的 Linq/Method 以某种方式轻松找到所述节点。

有许多不同类型的 XML 对象,作为额外的奖励,如果您能为我提供一份关于为什么/如何使用不同类型的指南,那就太好了。

编辑:好的,在被指向 XPathSelectElement 之后,我正在尝试它,所以我可以给他正确的答案,但我不能完全让它工作。这是我正在尝试的 XML

<Product>
<Name>SomeName</Name>
<Type>SomeType</Type>
<Quantity>Alot</Quantity>
</Product>

和我的代码

string path = "Product/Name";
string name = xml.XPathSelectElement(path).Value;

请注意我的字符串来自其他地方,所以我猜它不一定是文字(至少在 Debug模式下它看起来像上面那个)。我也试过在前面添加/。它给了我一个空引用。

最佳答案

尝试使用 XPathSelectElement XElement的扩展方法.您可以向该方法传递一个 XPath 表达式以进行评估。例如:

XElement myElement = rootElement.XPathSelectElement("//Book[@ISBN='22542']");

编辑:

在回复您的编辑时,请检查您的 XPath 表达式。如果您的文档仅包含该小片段,则 /Product/Name将作为前导斜线从文档的根部执行搜索:

XElement element = document.XPathSelectElement("/Product/Name");

如果有其他产品和<Product>不是您需要修改正在使用的 XPath 的根节点。

关于c# - 如何在 Linq-to-XML 中按路径查找 XML 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458566/

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