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
Lepaskan: 2024-12-17 19:17:10
asal
302 orang telah melayarinya

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()
    Salin selepas log masuk
  2. Gunakan kaedah findall() untuk mencari semua nod yang sepadan dalam dokumen:

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

    attribute_value = match.get('attribute_name')
    Salin selepas log masuk

Contoh

Untuk coretan XML yang disediakan:

<foo>
   <bar>
      <type foobar="1"/>
      <type foobar="2"/>
   </bar>
</foo>
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan