Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะรับโหนดเฉพาะในไฟล์ xml ใน Python ได้อย่างไร


การใช้ไลบรารี 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)