Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在XML中搜索文本并提取它';它所属的整个节点,以及python ElementTree_Python_Xml - Fatal编程技术网

如何在XML中搜索文本并提取它';它所属的整个节点,以及python ElementTree

如何在XML中搜索文本并提取它';它所属的整个节点,以及python ElementTree,python,xml,Python,Xml,我所拥有的是: 我知道“12345”在整个xml中都存在,但在不同的节点下。我想搜索“12345”并提取它所属的节点块。所以这里,“12345”在“评级”下,但在xml的其他地方它在“描述”下 下面的代码只搜索评级,但如何搜索“12345”并提取其中包含的块 `<Rating action="set"> <details>12345</details> <media>compact di

我所拥有的是:

我知道“12345”在整个xml中都存在,但在不同的节点下。我想搜索“12345”并提取它所属的节点块。所以这里,“12345”在“评级”下,但在xml的其他地方它在“描述”下

下面的代码只搜索评级,但如何搜索“12345”并提取其中包含的块

       `<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

你没说完你的句子