首页 后端开发 Python教程 python序列化功能之xml的详细介绍

python序列化功能之xml的详细介绍

Mar 26, 2017 pm 05:14 PM
python xml 序列化

这篇文章主要为大家详细介绍了python序列化功能之xml具有一定的参考价值,感兴趣的小伙伴们可以参考一下

<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>
登录后复制

上面是一段xml文本的示例,如果要对xml文本进行处理,需要导入一个模块。

import xml.etree.ElementTree as ET

#由于xml模块的名字太长,使用as给它取了个别名,叫ET。

ET.parse() 从文件中直接读取xml文本,将xml文本解析成为xml树对象。

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

获取该xml树的根节点。

root = tree.getroot()

获取根节点的标签(名称)。

root.tag

#遍历xml文档

for child in root:

    print(child.tag, child.attrib)

    for i in child:

        print(i.tag,i.text)

注意!如果想取xml文本下的子节点,必须通过根节点去取,任何节点后面加上.tag都可以取到节点中的标签名,任何节点加上.text都可以取到每个节点包含的内容,attrib 可以取到节点中标签中存在的属性。

#获取每个子节点的album_sales_volume标签中的文本内容。

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

    print i.text

#如果是要获取标签内的属性,直接把text改成attrib即可。

修改:

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

    new_year = int(node.text) + 1

    node.text = str(new_year) #修改内容

    node.set("flop","no") #修改标签属性。

tree.write("xmltest.xml")

删除:

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

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

   if rank > 50:

     root.remove(country)

tree.write('output.xml')

root.findall() 用于从根节点开始查找,查找到指定名字的子节点。

root.remove()用于删除一个节点。

生成xml文本。

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) #生成文档对象

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

ET.dump(new_xml) #打印生成的格式

以上是python序列化功能之xml的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么下载deepseek 小米 怎么下载deepseek 小米 Feb 19, 2025 pm 05:27 PM

如何下载 DeepSeek 小米?在小米应用商店搜索“DeepSeek”,如未找到,则继续步骤 2。确定您的需求(搜索文件、数据分析),并找到包含 DeepSeek 功能的相应工具(如文件管理器、数据分析软件)。

deepseek怎么问他 deepseek怎么问他 Feb 19, 2025 pm 04:42 PM

有效使用DeepSeek的关键在于清晰提问:直接、具体地表达问题。提供具体细节和背景信息。对于复杂的询问,包含多个角度和反驳观点。关注特定方面,例如代码的性能瓶颈。对得到的答案保持批判性思维,结合专业知识进行判断。

deepseek该怎么搜索 deepseek该怎么搜索 Feb 19, 2025 pm 05:18 PM

直接使用DeepSeek自带的搜索功能即可,它强大的语义分析算法能准确理解搜索意图,提供相关信息。但对于冷门领域、最新信息或需要思考问题的搜索,需要调整关键词或使用更具体的描述、结合其他实时信息来源,并明白DeepSeek只是一个工具,需要主动、清晰、精细的搜索策略。

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

deepseek怎么编程 deepseek怎么编程 Feb 19, 2025 pm 05:36 PM

DeepSeek并非编程语言,而是深度搜索概念。实现DeepSeek需基于现有语言选择。针对不同应用场景,需要选择合适的语言和算法,并结合机器学习技术。代码质量、可维护性、测试至关重要。根据需求选择合适的编程语言、算法和工具,并编写高质量代码,才能成功实现DeepSeek。

deepseek怎么用来算账 deepseek怎么用来算账 Feb 19, 2025 pm 04:36 PM

问题:DeepSeek是否可用于会计?回答:不是,它是一个数据挖掘和分析工具,可用于分析财务数据,但本身不具备会计软件的账目记录和报表生成功能。使用DeepSeek分析财务数据需要:编写代码来处理数据具备对数据结构、算法和DeepSeek API的了解考虑潜在的问题(例如,编程知识、学习曲线、数据质量)

DeepSeekapi怎么接入-DeepSeekapi接入调用教程 DeepSeekapi怎么接入-DeepSeekapi接入调用教程 Mar 12, 2025 pm 12:24 PM

DeepSeekAPI接入与调用详解:快速上手指南本文将详细指导您如何接入和调用DeepSeekAPI,助您轻松使用强大的AI模型。第一步:获取API密钥访问DeepSeek官方网站,点击右上角的“开放平台”。您将获得一定数量的免费Tokens(用于计量API使用量)。在左侧菜单中,点击“APIKeys”,然后点击“创建APIkey”。为您的APIkey命名(例如,“test”),并立即复制生成的密钥。请务必妥善保存此密钥,因为它只会显示一次

Pi币重大更新:Pi Bank要来了! Pi币重大更新:Pi Bank要来了! Mar 03, 2025 pm 06:18 PM

PiNetwork即将推出革命性移动银行平台PiBank!PiNetwork今日发布重大更新Elmahrosa(Face)PIMISRBank,简称PiBank,它将传统银行服务与PiNetwork加密货币功能完美融合,实现法币与加密货币的原子交换(支持美元、欧元、印尼盾等法币与PiCoin、USDT、USDC等加密货币的互换)。究竟PiBank有何魅力?让我们一探究竟!PiBank主要功能:一站式管理银行账户和加密货币资产。支持实时交易,并采用生物特

See all articles