Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để lấy các nút cụ thể trong tệp xml bằng Python?


Sử dụng thư viện xml, bạn có thể lấy bất kỳ nút nào bạn muốn từ tệp xml. Nhưng để giải nén một nút nhất định, bạn cần biết cách sử dụng xpath để lấy nó. Bạn có thể tìm hiểu thêm về XPath tại đây:https://www.w3schools.com/xml/xml_xpath.asp.

Ví dụ

Ví dụ:giả sử bạn có một tệp xml với cấu trúc sau,

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

Và bạn muốn trích xuất tất cả các nút tiêu đề có thuộc tính lang en, thì bạn sẽ có mã -

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)