Home Backend Development Python Tutorial Detailed introduction to xml of python serialization function

Detailed introduction to xml of python serialization function

Mar 26, 2017 pm 05:14 PM
python xml Serialization

This article mainly introduces the xml of Python serialization function in detail, which has certain reference value. Interested friends can refer to it.

<diva_list>
    <diva name="hamasaki ayumi">
        <state flop="yes">1</state>
        <year>1978</year>
        <album_sales_volume>27804358</album_sales_volume>
        <album name="A song for xx" sn="1st"/>
        <album name="LOVEppears" sn="2nd"/>
    </diva>
    <diva name="koda kumi">
        <state flop="yes">2</state>
        <year>1982</year>
     <album_sales_volume>8273371</album_sales_volume>
        <album name="affection" sn="1st"/>
        <album name="grow into one" sn="2nd"/>
    </diva>
</diva_list>
Copy after login

The above is an example of an xml text. If you want To process xml text, you need to import a module.

import xml.etree.ElementTree as ET

#Because the name of the xml module is too long, I used as to give it an alias, called ET.

ET.parse() reads xml text directly from the file and parses the xml text into an xml tree object.

tree = ET.parse("diva.xml")

Get the root node of the xml tree.

root = tree.getroot()

Get the label (name) of the root node.

root.tag

#Traverse xml document

for child in root:

print(child.tag, child.attrib)

for i in child:

print(i.tag,i.text)

Attention! If you want to get the child nodes under the xml text, you must get it through the root node. Add .tag after any node to get the tag name in the node. Add .text to any node to get the content contained in each node. , attrib can get the attributes that exist in the label in the node.

#Get the text content in the album_sales_volume label of each child node.

for i in root.iter("album_sales_volume"):

print i.text

#If you want to get the attributes in the label, directly change text to attrib That’s it.

Modification:

for node in root.iter('year'):

new_year = int(node.text) + 1

node. text = str(new_year) #Modify content

node.set("flop","no") #Modify label attributes.

tree.write("xmltest.xml")

Delete:

for country in root.findall('country'):

rank = int(country.find('rank').text)

if rank > 50:

root.remove(country)

tree.write('output. xml')

root.findall() is used to search starting from the root node and find the child node with the specified name.

root.remove() is used to delete a node.

Generate xml text.

import xml.etree.ElementTree as ET

new_xml = ET.Element("namelist")

name = ET.SubElement(new_xml,"name",attrib= {"enrolled":"yes"})

age = ET.SubElement(name,"age",attrib={"checked":"no"})

sex = ET. SubElement(name,"sex")

sex.text = '33'

name2 = ET.SubElement(new_xml,"name",attrib={"enrolled":"no"} )

age = ET.SubElement(name2,"age")

age.text = '19'

et = ET.ElementTree(new_xml) #Generate document object

et.write("test.xml", encoding="utf-8",xml_declaration=True)

ET.dump(new_xml) #Print the generated format

The above is the detailed content of Detailed introduction to xml of python serialization function. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

Python hourglass graph drawing: How to avoid variable undefined errors? Python hourglass graph drawing: How to avoid variable undefined errors? Apr 01, 2025 pm 06:27 PM

Getting started with Python: Hourglass Graphic Drawing and Input Verification This article will solve the variable definition problem encountered by a Python novice in the hourglass Graphic Drawing Program. Code...

Python Cross-platform Desktop Application Development: Which GUI Library is the best for you? Python Cross-platform Desktop Application Development: Which GUI Library is the best for you? Apr 01, 2025 pm 05:24 PM

Choice of Python Cross-platform desktop application development library Many Python developers want to develop desktop applications that can run on both Windows and Linux systems...

Do Google and AWS provide public PyPI image sources? Do Google and AWS provide public PyPI image sources? Apr 01, 2025 pm 05:15 PM

Many developers rely on PyPI (PythonPackageIndex)...

How to efficiently count and sort large product data sets in Python? How to efficiently count and sort large product data sets in Python? Apr 01, 2025 pm 08:03 PM

Data Conversion and Statistics: Efficient Processing of Large Data Sets This article will introduce in detail how to convert a data list containing product information to another containing...

Can Python parameter annotations use strings? Can Python parameter annotations use strings? Apr 01, 2025 pm 08:39 PM

Alternative usage of Python parameter annotations In Python programming, parameter annotations are a very useful function that can help developers better understand and use functions...

How to dynamically create an object through a string and call its methods in Python? How to dynamically create an object through a string and call its methods in Python? Apr 01, 2025 pm 11:18 PM

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

See all articles