xml - 使用带有管道符号的 xpath 搜索 XML |
问题描述
我有一个 XML 文档,并希望找到所有具有属性 =“A”或属性 =“B”的节点。
我有这样的东西,带有一个 xpath 查询,在氧气 XML 编辑器中使用时可以工作:
import xml.etree.ElementTree as ET
tree = ET.parse('xml.xml')
root = tree.getroot()
for text in root.findall('.//node1/node2|//node3[node2[@attribute="A"]|node2[@attribute="B"]]/node2'):
#get text.text
#do something
应该保持原来的顺序。我怎样才能在 python 3 中做到这一点?
解决方案
ElementTree XML API 提供对 XPath 表达式的有限支持。你应该更好地使用lxml
模块
推荐阅读
- testing - Gatling:设置报告目录名称?
- graphql - 如何在 apollo-server 中获取 Graphql 请求正文
- vue.js - 定制一个
带有标签和无效消息 - mongodb - Spring数据MongoDB中的@ExistQuery
- botframework - 我无法使用 Azure 机器人服务在机器人中进行身份验证
- odata - 如何过滤掉 OData v4 查询中的空数组/列表?
- r - 使用表格重命名存储在文件夹中的文件
- oracle - PL/SQL:问题实现触发器
- kotlin - 在 KotlinJS Gradle 插件中禁用 Node.js 下载
- string - 如何从字符串中删除 K 个字符,使得每个字符最少