常用模块——xml模块

XML 可扩展标记语言

格式:<></>

也是一种通用的数据格式

之所以用它是因为块平台性。

语法格式

一、任何的起始标签都必须有?一个结束标签。 <> </>二、可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在?于符号之前紧跟一个斜线(/),XML解析器会将其翻译成<百度百科词条></百度百科词条>。例例如<百度百科词条/>。

三、标签必须按合适的顺序进?行行嵌套,所以结束标签必须按镜像顺序匹配起始标签。这好?比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不不能关闭外?面的括号的。四、所有的特性都必须有值。五、所有的特性都必须在值的周围加上双引号。

一个标签的组成部分:<tagename 属性名="属性值">文本内容</tagename>单标签的写法<tagename 属性名 = "属性值"/>镜像关闭顺序实例
<a>
    <b>
        <c>
        </c>
    </b>
</a>
信息写成xml
<studentinfo>
    <张三>
        <age>20</age>
        <gender>man</gender>
    </张三>
    <李四>
        <age>20</age>
        <gender>man</gender>
    </李四>
</studentinfo>

总结
xml也是一种中间格式,也是属于序列化方式之一。
与json相比较
同样数据 json会比xml更小,效率更高

xml需要根据文档结构手动解析,而json直接转对象。

d.xml

<?xml version="1.0" encoding="utf-8" ?>
<studentinfo>
     <stu age="20" name="张三">
         <girlfriend age="19" name="张三的女朋友" />
    </stu>
    <stu age="20" name="李四">
         <girlfriend age="19" name="李四的女朋友" />
    </stu>
</studentinfo>

解析xml

import xml.etree.ElementTree as ElementTree
#解析d,xml
tree = ElementTree.parse(‘d.xml‘)
print(tree)#<xml.etree.ElementTree.ElementTree object at 0x0000000002429BA8>
rootTree=tree.getroot()#获得根标签
print(rootTree)#<Element ‘studentinfo‘ at 0x00000000023DBA48>

获得根标签下子标签三种方式:

iter("tagname")

# 种获取标签的方式
# 获取所有人的年龄 iter是用于在全文范围获取标签
for item in rootTree.iter("age"):
    print(item.tag)
    print(item.attrib)
    print(item.text)

结果

age
{‘name‘: ‘1‘}

age
{‘name‘: ‘2‘}

find()只是找到第一个标签

print(rootTree.find(‘age‘).attrib)
#{‘name‘: ‘1‘}

findall()找到所有符合标签名

print(rootTree.findall(‘age‘).__iter__().__next__().attrib)
#{‘name‘: ‘1‘}

获得单个属性

stu = rootTree.find("stu")
print(stu.get("age"))
print(stu.get("name"))

删除子标签

rootTree.remove(stu)

创建新的标签

new = ElementTree.Element(‘new_tag‘,{‘属性名‘:111})
rootTree.append(new)
tree.write(‘f.xml‘,encoding=‘utf-8‘)#写入文件

原文地址:https://www.cnblogs.com/msj513/p/9806364.html

时间: 2024-10-07 16:26:02

常用模块——xml模块的相关文章

python 常用模块 time random os模块 sys模块 json &amp; pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

9 Apr 18 shelve模块 xml模块 re模块

9 Apr 18 上节课复习: 一.shelve模块 Shelve(了解),是更高程度的封装.使用时只针对之前设计生成的文件,可以无视不同平台自动生成的其他文件.   Json的中间格式为字符串,用w写入文件 Pickle的中间格式为bytes,用b写入文件 序列化时更常用Json   import shelve info1={'age':18,'height':180,'weight':80} info2={'age':73,'height':150,'weight':80}   d=shel

python configparse模块&amp;xml模块

configparse模块 用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. [DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = hg [topsecret.server.com] port = 50022 forwardx11 = no [group] impo

python_day06 常用模块xml/configparser/hashlib/subprocess 面向对象程序设计

常用模块shutilxmlconfigparserhashlibsuprocess面向对象的程序设计 常用模块 xml模块 1 <?xml version="1.0"?> 2 <data> 3 <country name="Liechtenstein"> 4 <rank updated="yes">2</rank> 5 <year>2008</year> 6 &l

常用模块:re ,shelve与xml模块

一 shelve模块: shelve模块比pickle模块简单,只有一个open函数,所以使用完之后要使用f.close关闭文件.返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型. import shelve f=shelve.open(r'sheve.txt') # f['stu1_info']={'name':'egon','age':18,'hobby':['piao','smoking','drinking']} # f['stu2_info']=

[python标准库]XML模块

1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词.短语或块成为可识别.可分类的信息. XML有以下几个特点. XML的设计宗旨是传输数据,而非显示数据. XML标签没有被预定义.您需要自行定义标签. XML被设计为具有自我描述性. XML是W3C的推荐标准. 其解析流程如下图: 2.常用解析XML的Python包 Python的标准库中,提供了6种

标准库系列之xml模块

Python标准库系列之xml模块 Python's interfaces for processing XML are grouped in the xml package. 带分隔符的文件仅有两维的数据:行和列.如果你想在程序之间交换数据结构,需要一种方法把层次结构.序列.集合和其他的结构编码成文本. XML是最突出的处理这种转换的标记(markup)格式,它使用标签(tag)分个数据,如下面的实例文件menu.xml所示: <?xml version="1.0" encod

常用的re模块的正则匹配的表达式

07.01自我总结 常用的re模块的正则匹配的表达式 一.校验数字的表达式 1.数字 ^[0-9]\*$ 2.n位的数字 ^\d{n}$ 3.至少n位的数字 ^\d{n,}$ 4.m-n位的数字 ^\d{m,n}$ 5.零和非零开头的数字 ^(0|[1-9][0-9]\*)$ 6.非零开头的最多带两位小数的数字 ^([1-9][0-9]\*)+(\.[0-9]{1,2})?$ 7.带1-2位小数的正数或负数 ^(\-)?\d+(\.\d{1,2})$ 8.正数.负数.和小数 ^(\-|\+)?\

XML模块

XML XML: 客户端向服务器发送请求,服务器返回的都是字符串. 字符串可以是html模式,可以是字典形式(json模式),也可以是xml模式. xml模块专门处理xml模式的字符串. xml本质是实现不同语言或程序之间进行数据交换的协议. XML文件格式如下: 1 <data> 2 <country name="Liechtenstein"> 3 <rank updated="yes">2</rank> 4 <