我正在使用Python ElementTree处理XML文件。我的文件是这样的:
<a expr="bla" para="1"/>
<a expr="bla" para="1">
<b expr="bli" para="2"/>
<a exp="bla" para="1"/>
...
我想打印expr,不管是a还是b。应该是这样的:
expr = "bla"
expr = "bla"
expr = "bli"
expr = "bla"
我写了这段代码:
for type_tag in myroot.findall('a'):
expression = type_tag.get('expr')
print("expr = ", expression)
但是我也不知道如何改进b的位置。
感谢您的帮助,
这很容易。
我有这个测试xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<test>
<a expr="bla" para="1"/>
<b expr="bli" para="2"/>
<a expr="bla" para="1"/>
<no a="1"/>
</test>
这是我的代码:
from lxml import etree
tree = etree.parse(r"test.xml")
rootNode = tree.getroot()
for node in rootNode:
if node.get("expr"):
print("expr =",node.get("expr"))
结果是:
expr = bla
expr = bli
expr = bla