gpt4 book ai didi

Python XML ElementTree 标记通配符

转载 作者:行者123 更新时间:2023-11-28 22:45:14 25 4
gpt4 key购买 nike

如何在 xml TAG 搜索中添加通配符?我正在尝试使用 Python 的 xml.elementTree 库查找当前 XML 节点的所有标记以“MYTAG”开头的子节点。XML 看起来像:

ROOT
FOO
BAR
MYTAG1
MYTAG2

我试过了

xmlTree = xmlET.parse('XML_FILE')
xmlRoot = xmlTree.getroot()
MYTags = xmlRoot.findall('MYTAG{*}')

使用它可以正常工作,但当然只返回一个元素,而不是两个。

xmlRoot.findall('MYTAG1')

最佳答案

由于 xpath 支持在 xml 中相当有限,一种替代方法是使用 getchildren() 并返回带有标签 的节点>开始于:

import xml.etree.ElementTree as ET
from StringIO import StringIO

# sample xml
s = '<root><mytag1>hello</mytag1><mytag2>world!</mytag2><tag3>nothing</tag3></root>'
tree = ET.parse(StringIO(s))
root = tree.getroot()
# using getchildren() within root and check if tag starts with keyword
print [node.text for node in root.getchildren() if node.tag.startswith('mytag')]

结果:

['hello', 'world!']

关于Python XML ElementTree 标记通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28769705/

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