首页 > 解决方案 > 在不知道结构深度的情况下查找 XML 元素

问题描述

我有一个带有 < type> 元素的 XML 结构。每个结构只有一个 <type> 元素。在不知道 xml 结构深度的情况下如何获取元素的值。我需要创建一个传入 xml 并使用 C# 返回 <type> 元素的值的方法。

标签: c#xml

解决方案


您可以为此使用 XPath。

类似的查询//type将匹配任何 . 它在 xml 中的位置无关紧要。当然,查询将返回一个列表。在您的情况下,您只需要获取第一个元素。

这是一个示例: https ://docs.microsoft.com/en-us/dotnet/api/system.xml.xmlnode.selectnodes?view=netframework-4.8

将此行更改为:

nodeList=root.SelectNodes("//type");

其他一些 xpath 示例: https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256086(v=vs.100)


推荐阅读