如何在Python中的xml文件中获取特定的节点?

使用xml库,您可以从xml文件中获取所需的任何节点。但是对于提取给定的节点,您需要知道如何使用xpath来获取它。您可以在此处了解有关XPath的更多信息:https : //www.w3schools.com/xml/xml_xpath.asp。 

示例

例如,假设您有一个具有以下结构的xml文件,

<bookstore>
    <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
    </book>
    <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
    </book>
</bookstore>

并且您想要提取具有lang属性en的所有标题节点,那么您将获得代码-

from xml.etree.ElementTree import ElementTree
tree = ElementTree()root = tree.parse("my_file.xml")
for node in root.findall("//title[@lang='en']"):
    for type in node.getchildren():
        print(type.text)