如何在XML中搜索文本并提取它';它所属的整个节点,以及python ElementTree
我所拥有的是: 我知道“12345”在整个xml中都存在,但在不同的节点下。我想搜索“12345”并提取它所属的节点块。所以这里,“12345”在“评级”下,但在xml的其他地方它在“描述”下 下面的代码只搜索评级,但如何搜索“12345”并提取其中包含的块如何在XML中搜索文本并提取它';它所属的整个节点,以及python ElementTree,python,xml,Python,Xml,我所拥有的是: 我知道“12345”在整个xml中都存在,但在不同的节点下。我想搜索“12345”并提取它所属的节点块。所以这里,“12345”在“评级”下,但在xml的其他地方它在“描述”下 下面的代码只搜索评级,但如何搜索“12345”并提取其中包含的块 `<Rating action="set"> <details>12345</details> <media>compact di
`<Rating action="set">
<details>12345</details>
<media>compact disk</media>
<region>GRE</region>
<sequence>1</sequence>
<flag>0</flag>
</Rating>`
`
12345
光盘
GRE
1.
0
`
用于root.findall('./{xmlsheding}Rating')中的评级:
找到的值=False
有关Rating.findall('./{xmlsheding}details')中的详细信息:
如果details.text==名称:
找到的值=真
打破
如果找到值_:
print ET.tostring(Ratings)
我用它来获取我需要的信息
示例查询返回父节点,其中子元素akey=12345
query是与该查询匹配的所有父元素
from lxml import etree
name = '12345'
tree = etree.parse('C:/Users/file.xml')
root = tree.getroot()
query = root.xpath('//ns:akey[text()="12345"]/..', namespaces={'ns': 'URN:XXX:XXXX:XXX:ADP:0001'})
for parent in query:
print "" + '\n' + parent.tag
child = parent.getchildren()
for kid in child:
p = kid.tag + " " + kid.text
你没说完你的句子