


Cara mengubahsuai kandungan dalam XML menggunakan bahasa skrip
Kunci untuk mengubah suai fail XML dalam bahasa skrip adalah untuk memahami struktur pokok dan ekspresi XPath. Dokumen XML dihuraikan ke dalam pokok, dan mengubah XML melibatkan melintasi pokok dan mencari nod sasaran. Ekspresi XPath digunakan untuk menentukan nod. Gunakan Perpustakaan XML.Etree.ElementTree untuk mengubah suai kandungan teks, menambah dan memadam nod. Untuk fail besar, perpustakaan LXML menyediakan prestasi yang lebih baik. Pengendalian ralat yang betul adalah penting untuk aplikasi praktikal.
Memanipulasi XML dalam bahasa skrip: petua yang mungkin tidak anda ketahui
Ramai rakan bertanya kepada saya bagaimana menggunakan bahasa skrip untuk mengubahsuai fail XML dengan cekap? Soalan ini nampaknya mudah, tetapi terdapat banyak helah. Jika anda mula membuat kesilapan, mudah jatuh ke dalam lubang. Kod ini ditulis bau dan panjang, dan mudah untuk membuat kesilapan. Dalam artikel ini, mari kita bercakap tentang cara menggunakan bahasa skrip (mengambil Python sebagai contoh) untuk mengendalikan XML supaya anda dapat mengelakkan lencongan. Selepas membaca, anda tidak boleh mengubahsuai XML dengan mudah, tetapi juga menguasai beberapa idea umum untuk menangani masalah tersebut.
Asas dan alat XML
Jangan tergesa -gesa menulis kod terlebih dahulu, kita perlu memikirkan apa XML. XML, bahasa markup extensible, pada dasarnya adalah sekumpulan tag bersarang. Adalah penting untuk memahami ini kerana ia menentukan bagaimana kami mengendalikannya dengan program. Kami menggunakan Python untuk memproses XML. Perpustakaan yang biasa digunakan ialah xml.etree.ElementTree
, yang menyediakan API ringkas untuk memudahkan penguraian dan mengubahsuai dokumen XML kami. Perpustakaan lain, seperti lxml
, lebih cekap, tetapi ia sedikit lebih sukar untuk dimulakan, jadi saya tidak akan mengembangkannya di sini untuk sekarang.
Teras: Struktur dan Laluan Pokok
xml.etree.ElementTree
memasangkan dokumen XML ke dalam pokok, dan setiap tag adalah nod. Dengan memahami ini, anda akan menguasai intipati memanipulasi XML. Mengubah XML sebenarnya melintasi pokok, mencari nod sasaran, dan kemudian mengubah suai sifat atau kandungan teksnya. Untuk mencari nod sasaran, anda perlu menggunakan ekspresi XPath, yang merupakan bahasa laluan yang dapat mencari nod dengan tepat di pokok XML. Sebagai contoh, /bookstore/book[1]/title
bermaksud mencari nod tajuk nod buku pertama di bawah nod kedai buku.
Contoh kod: Ubah suai tajuk buku
Katakan kami mempunyai fail XML yang dipanggil books.xml
:
<code class="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></code>
Sekarang, kita akan menukar tajuk buku pertama untuk "Menguasai Masakan Itali". Kod Python adalah seperti berikut:
<code class="python">import xml.etree.ElementTree as ET tree = ET.parse('books.xml') root = tree.getroot() # 使用XPath定位目标节点title_element = root.find('./book[1]/title') # 修改节点文本内容title_element.text = 'Mastering Italian Cuisine' # 写回XML文件tree.write('books_modified.xml', encoding='utf-8', xml_declaration=True)</code>
Kod ini terlebih dahulu memasangkan fail XML, kemudian menggunakan kaedah find()
(berdasarkan XPath) untuk mencari nod sasaran, mengubah suai atribut text
, dan akhirnya menulis XML yang diubahsuai ke fail baru. Perhatikan parameter encoding
dan xml_declaration
, yang memastikan ketepatan dan kebolehbacaan fail tulis.
Lanjutan: Tambah dan padamkan nod
Di samping mengubahsuai kandungan teks, kami juga boleh menambah dan memadam nod. ElementTree
menyediakan insert()
dan remove()
kaedah untuk melaksanakan operasi ini. Sebagai contoh, untuk menambah nod buku baru, anda boleh melakukan ini:
<code class="python">new_book = ET.SubElement(root, 'book', category='fiction') ET.SubElement(new_book, 'title').text = 'The Hitchhiker\'s Guide to the Galaxy' # ... 添加其他子节点... tree.write('books_modified.xml', encoding='utf-8', xml_declaration=True)</code>
Pengendalian prestasi dan ralat
Untuk fail XML yang besar, xml.etree.ElementTree
mungkin tidak berfungsi dengan baik. Pada masa ini, pertimbangkan untuk menggunakan perpustakaan lxml
, yang mempunyai prestasi yang lebih baik. Di samping itu, dalam aplikasi sebenar, pengendalian ralat perlu dilakukan dengan baik, seperti fail tidak wujud, kesilapan ekspresi XPath, dan lain -lain. Pengecualian ini boleh dikendalikan dengan anggun menggunakan try...except
pernyataan.
Meringkaskan
Kunci untuk mengubahsuai XML dalam bahasa skrip adalah untuk memahami struktur pokok XML dan penggunaan ekspresi XPath. xml.etree.ElementTree
menyediakan fungsi yang mencukupi untuk menyelesaikan kebanyakan tugas, manakala lxml
menyediakan prestasi yang lebih baik. Ingat, kod elegan bukan sahaja berfungsi, tetapi juga mudah difahami dan dikekalkan. Berlatih lebih banyak dan fikirkan lebih banyak, dan anda boleh menjadi pakar pemprosesan XML.
Atas ialah kandungan terperinci Cara mengubahsuai kandungan dalam XML menggunakan bahasa skrip. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Untuk menjalankan kod python dalam teks luhur, anda perlu memasang plug-in python terlebih dahulu, kemudian buat fail .py dan tulis kod itu, dan akhirnya tekan Ctrl B untuk menjalankan kod, dan output akan dipaparkan dalam konsol.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Golang lebih baik daripada Python dari segi prestasi dan skalabiliti. 1) Ciri-ciri jenis kompilasi Golang dan model konkurensi yang cekap menjadikannya berfungsi dengan baik dalam senario konvensional yang tinggi. 2) Python, sebagai bahasa yang ditafsirkan, melaksanakan perlahan -lahan, tetapi dapat mengoptimumkan prestasi melalui alat seperti Cython.

Running Python Code di Notepad memerlukan Python Executable dan NPPExec plug-in untuk dipasang. Selepas memasang Python dan menambahkan laluannya, konfigurasikan perintah "python" dan parameter "{current_directory} {file_name}" dalam plug-in nppexec untuk menjalankan kod python melalui kunci pintasan "f6" dalam notepad.

Golang dan Python masing -masing mempunyai kelebihan mereka sendiri: Golang sesuai untuk prestasi tinggi dan pengaturcaraan serentak, sementara Python sesuai untuk sains data dan pembangunan web. Golang terkenal dengan model keserasiannya dan prestasi yang cekap, sementara Python terkenal dengan sintaks ringkas dan ekosistem perpustakaan yang kaya.
