xml - 如何使用 xpath 获取特定的 xsd 元素?
问题描述
我正在尝试使用 xpath 查找特定父 xsd 元素的特定 xsd 元素,但找不到解决方案。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="XYZ">
<xs:complexType>
<xs:sequence>
<xs:element name="XX" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="AA">
<xs:complexType>
<xs:attribute type="xs:string" name="testA" use="required" />
<xs:attribute type="xs:string" name="testB" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="YY" minOccurs="0" />
<xs:element name="ZZ">
<xs:complexType>
<xs:sequence>
<xs:element name="AA" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我尝试了以下 xpath:
/xs:element[@name='XYZ']/xs:element[@name='XX']/xs:element[@name='AA']
但结果是一个空列表。
我希望有人能帮助我。
解决方案
//xs:element[@name="XYZ"]//xs:element[@name="XX"]//xs:element[@name="AA"]
应该给出期望的结果 - 你只需要使用//
来处理任意深度的祖先。
来自XPath 示例:
bookstore//title
<title>
元素深处一层或多层的所有<bookstore>
元素(任意后代)。
bookstore//book/excerpt//emph
<emph>
元素<excerpt>
的子<book>
元素内的任何位置,元素内的任何位置的所有<bookstore>
元素。
推荐阅读
- javascript - 将远程文件流式传输到“fs.createReadStream”
- wpf - 如何在停靠面板中正确对齐和拉伸文本?
- powershell - 尝试在 PowerShell 更新后在线连接到 PnP 时出错
- python - 将上下文附加到变量但不影响其有效值的方法
- python - 安装 django-observer 包的问题
- python - 将 async-for 与 if 条件结合以中断中间等待的正确方法是什么?
- typescript - Firebase 功能部署未更新
- google-cloud-data-fusion - 错误:遇到错误字符 (ASCII 0)。在数据融合
- graphics - 什么是 vulkan 颜色空间?
- django - 仅将视图添加到 Django 以进行测试(不在生产中)