c# - 在不知道结构深度的情况下查找 XML 元素
问题描述
我有一个带有 < type> 元素的 XML 结构。每个结构只有一个 <type> 元素。在不知道 xml 结构深度的情况下如何获取元素的值。我需要创建一个传入 xml 并使用 C# 返回 <type> 元素的值的方法。
解决方案
您可以为此使用 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)
推荐阅读
- java - 如何从空手道将数字传递给 Java?如何调用带有数字的 Java 构造函数?
- oracle - 有没有办法通过 Oracle Cloud android 应用程序关闭实例?
- flutter - Flutter,firestore直接查询和FutureBuilder中的查询之间的区别?
- java - 在解析 json 字符串时不断收到无法识别的字段未标记为可忽略的错误
- python - 为什么它说名称未定义?
- docker - 环境变量未注入 Azure Devops 管道上的多阶段 docker build
- javascript - 如何在 Ant Design 中更改所选菜单项的颜色?
- html - 为什么绝对定位的孩子和有边界的父母之间有一个小的差距?所有边距、填充和位置都设置为 0
- java - 为什么会抛出 IOException
- css - 动态更改 CSS 中特定类的 JavaFX 属性