以下是示例XML代码段。我需要获得值" ABCD"
sample.xml中
<layer>
<value>Random</value>
<value>12345</value>
</layer>
<layer>
<value>Last_Name</value>
<value>ABCD</value>
</layer>
<layer>
<value>dynamic</value>
<value>a1234bcd</value>
</layer>
Sample.py
from lxml import etree
tree = etree.parse('sample.xml')
print tree.xpath('//layer[value="Last_Name"]/value')[0].text #returns **"Last_Name"**
# Xpath : //layer/value[text()='Last_Name']/value # This also didn't work
如何提取其中一个相同标签的值?
答案 0 :(得分:1)
tree.xpath('//layer[value="Last_Name"]/value')[1].text
xpath将出租:
[<value>Last_Name</value>,
<value>ABCD</value>]
ABCD
在索引1
答案 1 :(得分:0)
您好我已经修改了您的XML文件并将其包含在一个名为tag
的标签中 #<data>
<layer>
<value>Random</value>
<value>12345</value>
</layer>
<layer>
<value>Last_Name</value>
<value>ABCD</value>
</layer>
<layer>
<value>dynamic</value>
<value>a1234bcd</value>
</layer>
</data>
#
现在这是一个示例python程序。
####### Python代码import xml.etree.ElementTree as ET
tree = ET.ElementTree(file="filename.xml")
root = tree.getroot()
for child in root:
for attr in child:
if(attr.tag == 'value'):
print(attr.text)