![](/img/trans.png)
[英]Python ElementTree - select element attributes based on value of 1 attribute
[英]Python ElementTree - Select a nested xml element based on the value of an attribute
我正在尝试 select 基于属性值的嵌套元素
from xml.etree import ElementTree as ET
xml = '''<?xml version="1.0" encoding="UTF-8"?>
<Report>
<h1>
<h2>
<Element name='Bob' age='32' title='President'></Element>
<Element name='Sue' age='25' title='Vice-President'></Element>
<Element name='Mary' age='44' title='Secretary'></Element>
</h2>
</h1>
</Report>'''
root = ET.fromstring(xml)
element = root.findall("//*[@title='President']")
但是我得到以下元素变量赋值错误
SyntaxError: cannot use absolute path on element
如何仅提取 President 元素的属性数据?
你非常亲密:-)
下面的作品 - 看看 xpath 中的点..
xml = '''<?xml version="1.0" encoding="UTF-8"?>
<Report>
<h1>
<h2>
<Element name='Bob' age='32' title='President'></Element>
<Element name='Sue' age='25' title='Vice-President'></Element>
<Element name='Mary' age='44' title='Secretary'></Element>
</h2>
</h1>
</Report>'''
root = ET.fromstring(xml)
elements = root.findall(".//*[@title='President']")
print(elements)
这是你要找的吗?
from xml.etree import ElementTree as ET
xml = '''<?xml version="1.0" encoding="UTF-8"?>
<Report>
<h1>
<h2>
<Element name='Bob' age='32' title='President'></Element>
<Element name='Sue' age='25' title='Vice-President'></Element>
<Element name='Mary' age='44' title='Secretary'></Element>
</h2>
</h1>
</Report>'''
root = ET.fromstring(xml)
elements = root.findall(".//*[@title='President']")
for i in elements:
print(i.attrib['name'], i.attrib['age'], i.attrib['title'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.