Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Nilai Atribut Nod daripada XML Menggunakan ElementTree?

Bagaimana untuk Mengekstrak Nilai Atribut Nod daripada XML Menggunakan ElementTree?

Linda Hamilton
Linda Hamiltonasal
2024-12-17 19:17:10353semak imbas

How to Extract Node Attribute Values from XML Using ElementTree?

Mengekstrak Nilai Atribut Nod daripada XML Menggunakan ElementTree

menghuraikan data XML selalunya diperlukan untuk mengekstrak maklumat tertentu. Soalan ini menangani tugas mendapatkan nilai atribut tertentu daripada nod tertentu dalam dokumen XML.

Mengakses Nilai Atribut dengan ElementTree

Pendekatan yang disyorkan untuk tugas ini ialah untuk menggunakan perpustakaan ElementTree, yang menawarkan API mesra pengguna untuk menavigasi dan memanipulasi data XML. Untuk menggunakan ElementTree:

  1. Menghuraikan dokumen XML untuk mencipta contoh Elemen:

    import xml.etree.ElementTree as ET
    root = ET.parse('xml_file.xml').getroot()
  2. Gunakan kaedah findall() untuk mencari semua nod yang sepadan dalam dokumen:

    matches = root.findall('desired_node_path')
  3. Dapatkan nilai atribut menggunakan kaedah get():

    attribute_value = match.get('attribute_name')

Contoh

Untuk coretan XML yang disediakan:

<foo>
   <bar>
      <type foobar="1"/>
      <type foobar="2"/>
   </bar>
</foo>

kepada ekstrak nilai atribut foobar untuk semua kejadian jenis nod, anda akan menggunakan kod berikut:

for type_node in root.findall('bar/type'):
    foobar_value = type_node.get('foobar')
    print(foobar_value)

Kod ini akan mencetak nilai "1" dan "2" ke konsol.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nilai Atribut Nod daripada XML Menggunakan ElementTree?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn