Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 13625|Jawab: 0

[Sumber] Python mengimplementasikan penguraian file XML

[Salin tautan]
Diposting pada 05/06/2018 14.27.09 | | |
1. XML Pendahuluan

XML (eXtensible Markup Language) mengacu pada bahasa markup yang dapat diperluas, yang dirancang untuk mengirimkan dan menyimpan data, dan telah menjadi inti dari banyak teknologi baru saat ini, dengan aplikasi yang berbeda di berbagai bidang. Ini adalah produk yang tak terelakkan dari pengembangan web ke tahap tertentu, yang memiliki karakteristik inti SGML, karakteristik HTML yang sederhana, dan banyak fitur baru seperti jelas dan terstruktur dengan baik.

pengujian. Berkas XML

<?xml version="1.0" encoding="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <login username="pytest" passwd='123456'>
        <caption>Python</caption>
        <item id="4">
            <caption>Tes</caption>
        </item>
    </login>
    <item id="2">
        <caption>Zope</caption>
    </item>
</catalog>

Untuk pengenalan terperinci tentang XML, silakan lihat:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML penguraian dokumen

Ada tiga metode umum untuk python mengurai XML: satu adalah modul xml.dom.*, yang merupakan implementasi dari W3C DOM API, yang sangat cocok jika Anda perlu memproses DOM API; Yang kedua adalah modul xml.sax.*, yang merupakan implementasi dari SAX API, yang mengorbankan kenyamanan untuk kecepatan dan jejak memori, dan SAX adalah API berbasis peristiwa, yang berarti dapat memproses sejumlah besar dokumen "di udara" tanpa harus memuatnya sepenuhnya ke dalam memori; Yang ketiga adalah modul xml.etree.ElementTree (disingkat ET), yang menyediakan API gaya Python yang ringan, yang jauh lebih cepat daripada DOM, dan ada banyak API menyenangkan yang dapat digunakan, dibandingkan dengan SAX, ET.iterparse ET juga menyediakan metode pemrosesan "di udara", tidak perlu memuat seluruh dokumen ke dalam memori, dan kinerja rata-rata ET mirip dengan SAX. Namun, API sedikit lebih efisien dan mudah digunakan.

2.1 xml.dom.*

Document Object Model (DOM) adalah antarmuka pemrograman standar yang direkomendasikan oleh organisasi W3C untuk menangani bahasa markup yang dapat diperluas. Ketika pengurai DOM mengurai dokumen XML, ia membaca seluruh dokumen sekaligus, menyimpan semua elemen dalam dokumen dalam struktur pohon dalam memori, dan kemudian Anda dapat menggunakan fungsi berbeda yang disediakan oleh DOM untuk membaca atau memodifikasi konten dan struktur dokumen, atau menulis konten yang dimodifikasi ke file xml. Gunakan xml.dom.minidom di Python untuk mengurai file xml.

a. Dapatkan subtag
b. Label yang membedakan nama tag yang sama
c. Dapatkan nilai atribut tag
d. Mendapatkan data antar pasangan label

Hasil:

2.2 xml.etree.ElementTree

ElementTree lahir untuk menangani XML, dan ada dua implementasi dalam pustaka standar Python: satu adalah implementasi Python murni, seperti xml.etree.ElementTree, dan yang lainnya adalah xml.etree.cElementTree yang lebih cepat. Catatan: Cobalah untuk menggunakan bahasa C untuk menerapkannya, karena lebih cepat dan mengkonsumsi lebih sedikit memori.

a. Melintasi lapisan berikutnya dari simpul akar
b. Akses subskrip ke tag, atribut, dan teks individual
c. Temukan tag yang ditentukan di bawah root
d. Melintasi file XML
e. Modifikasi file XML

Hasil:

Terlampir:

2.3 xml.sax.*

SAX adalah API berbasis peristiwa yang menggunakan SAX untuk mengurai XML dalam dua bagian: parser dan penanganan peristiwa.

Parser bertanggung jawab untuk membaca dokumen XML dan mengirim peristiwa ke penanganan peristiwa, seperti peristiwa awal elemen dan akhir elemen

Pemroses peristiwa bertanggung jawab untuk menanggapi peristiwa dan memproses data XML yang diteruskan

Skenario umum:

(1) Memproses dokumen besar

(2) Hanya sebagian dari dokumen yang diperlukan, atau informasi spesifik hanya diperoleh dari file

(3) Saya ingin membangun model objek saya sendiri





Mantan:Solusi: Penginstal yang digunakan untuk menginstal Visual Studio tidak lengkap
Depan:Pintasan pemformatan cepat kode VS Code
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com