从xmlpython解析序列号标记

2024-04-25 00:37:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个xml文件,较短的版本如下:

<?xml version="1.0" encoding="UTF-8"?>
<DATA>
<_1>
<member_id>AFCE6DB97D4CD67D</member_id>
</_1>
<_2>
<member_id>AFCE6DB97D4CD67D</member_id>
</_2>
</DATA>

我使用以下代码来解析

tree = ElementTree.parse(args['inputxml'])
root = tree.getroot()
for dat in root:
    memberID = dat.find('member_id').text

我能够解析成员id,但不确定如何解析序列号<_1>``<_2>等。这个数字随着xml中的每个新记录不断扩展。你知道吗


Tags: 文件代码版本idtreedataversionroot
1条回答
网友
1楼 · 发布于 2024-04-25 00:37:27

您可以使用xpath()

xml = """<?xml version="1.0" encoding="UTF-8"?>
<DATA>
<_1>
<member_id>AFCE6DB97D4CD67D</member_id>
</_1>
<_2>
<member_id>AFCE6DB97D4CD67D</member_id>
</_2>
</DATA>"""


root = etree.fromstring(xml)
members = root.xpath("//member_id")

for m in members:
    print m.text, m.getparent().tag

这张照片:

AFCE6DB97D4CD67D _1
AFCE6DB97D4CD67E _2

相关问题 更多 >