Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
Python 查找特定子级的父级_Python_Xml_Python 2.7_Xml Parsing_Elementtree - Fatal编程技术网

Python 查找特定子级的父级

Python 查找特定子级的父级,python,xml,python-2.7,xml-parsing,elementtree,Python,Xml,Python 2.7,Xml Parsing,Elementtree,使用包xml.etree是否可以找到子级的父级?例如: <ELEMENTS> <CONSTANT-SPECIFICATION> </CONSTANT-SPECIFICATION> </ELEMENTS> <ELEMENTS> <DATA-SPECIFICATION> </DATA-SPECIFICATION> </ELEMENTS> 我搜索包含子“常量规范”的

使用包xml.etree是否可以找到子级的父级?例如:

<ELEMENTS>
    <CONSTANT-SPECIFICATION>
    </CONSTANT-SPECIFICATION>

</ELEMENTS>
<ELEMENTS>
    <DATA-SPECIFICATION>
    </DATA-SPECIFICATION>

</ELEMENTS>


我搜索包含子“常量规范”的对象“元素”。

您可以使用
//ELEMENTS[CONSTANT-SPECIFICATION]
XPath表达式,例如:

import xml.etree.ElementTree as ET

data = """<?xml version="1.0" encoding="ISO-8859-1"?>
<ROOT>
        <ELEMENTS>
            <CONSTANT-SPECIFICATION>
            </CONSTANT-SPECIFICATION>

        </ELEMENTS>
        <ELEMENTS>
            <DATA-SPECIFICATION>
            </DATA-SPECIFICATION>

        </ELEMENTS>
</ROOT>
"""

root = ET.fromstring(data)

print root.find('.//elements[constant-specification]')
将xml.etree.ElementTree作为ET导入
data=”“”
"""
root=ET.fromstring(数据)
打印root.find('.//元素[常量规范]'))

不幸的是,我收到了一个错误“SyntaxError:expected path separator([)”@Peter你确定你正在执行与发布的代码完全相同的代码吗?是的,我确定我在一个新的*.py文件中复制了它没有语法错误。但是
元素[常量规范]
应该是
元素[常量规范]