python 标准库,标准函数库python
个人资料
元素类型是一个灵活的容器对象,用于在内存中存储结构化数据。
[注意]xml.etree.ElementTree模块不安全,无法处理恶意的结构化数据。
每个元素对象都具有以下属性:
1.标签:字符串对象。指示数据表示的种类。
2.attrib:字典对象。表示附加的属性。
3.文本:字符串对象。表示元素的内容。
4.tail:字符串对象。指示元素关闭后的轨道。
5.一些子元素。
texttail
1234
创建元素的方法是元素或子元素()。前者称为元素的构造函数,用于构建任何独立的元素。后者称为元素制造功能,用于制造某个元素的子元素。
生成一系列元素后,使用ElementTree类将它们打包,转换成xml文件或从xml文件中分析它们。
为了加快速度,请使用C语言编译的API xml.etree.cElementTree。
导入元素树
如果使用xml.etree.ElementTree,它通常按如下方式导入:
尝试:
导入XML.etree.celementtreeaset
除了导入错误:
导入XML.etree.element树集
XML是一种结构化数据格式。ET使用ElementTree来表示整个XML文档,并将其视为一棵树。元素表示文档树中的每个节点。
ET提供了从各种来源导入数据的方法,如下所示:
#从硬盘xml文件中读取数据
导入XML.etree.element树集
tree=et . parse(country _ data . XML)#加载数据
Get root=tree.getroot根节点
从# string读取数据
root=et . from string(country _ data _ as _ string)).
【注意】上面的root其实是一个元素,因为】fromstring()直接获取string对象中的根节点。
作为一个元素对象,它有自己的子元素,所以它可以直接在元素中重复值。
对于儿童根:打印child.tag,child.attrib。
国家{ 名称 : 列支敦士登 }
国家{ 名称 : 新加坡 }
国家{ 名称:巴拿马 }
或者,直接使用索引查找子节点。
根[0][1]。文本 2008
在元素中遍历和查询
元素。ITER(tag=none):遍历该元素的所有后代,或者为遍历搜索指定标签。
Element.findall(path):查找与当前元素下的标签或路径匹配的直接节点。
Element.find(path):在当前元素下查找匹配标签或路径的第一个直接节点。
获取当前元素的文本值。
Element.get(key,default=None):获取元素指定的键对应的属性值,如果没有属性则返回默认值。
元素对象
class XML . etree . element tree . element(tag,attrib={},**extra)).
Tag:string,元素表示的数据类型。
Text:字符串,元素的内容。
Tail:string,元素的尾部。
Attrib:字典,元素属性字典。
#对属性的操作
Clear():空元素、属性、文本和尾部的后代也被设置为None。
Get(key,default=None):获取key对应的属性值,如果不存在则返回默认值。
Items():根据属性字典返回包含列表元素(key,value)的列表。
Kys():返回包含所有元素的属性键列表。
Set(key,value):设置新的属性键和值。
#对后代的操作
Append(子元素):添加直接子元素。
扩展(sube le)
Ments):添加一串元素对象作为子元素。#python2.7中的新特性
Find(match):查找第一个匹配的子元素。匹配对象可以是标签或路径。
Findall(match):查找所有匹配的子元素,匹配的对象可以是tag或path。
Findtext(match):查找第一个匹配的子元素并返回其文本值。匹配对象可以是标签或路径。
Insert(index,element):在指定位置插入子元素。
Iter(tag=None):生成遍历当前元素或给定标记的所有后代的迭代器。#python2.7中的新特性
Iterfind(match):根据标签或路径查找所有后代。
Itertext():遍历所有后代并返回文本值。
删除(子元素):删除子元素。
树对象
class XML . etree . element tree . element tree(element=None,file=None)
如果给定了元素,则它是新元素树的根节点。
_setroot(element):用给定的元素替换当前根节点。慎用。
#以下方法类似于Element类中同名的方法,只是它们将根节点指定为操作对象。
查找(匹配)
查找全部(匹配)
findtext(匹配,默认值=无)
Getroot():获取根节点。
iter(标签=无)
匹配项
Parse(source,parser=None):加载xml对象,source可以是文件名或文件类型对象。
write(file,encoding=us-ascii ,xml_declaration=None,default_namespace=None,method=xml )
模块方法
XML . etree . element tree . comment(text=None)
创建一个特殊的元素,并通过标准序列化使它表示一个注释。注释可以是字节字符串或unicode。
XML . etree . element tree . dump(elem)
生成元素树,通过sys.stdout输出elem可以是元素树,也可以是单个元素。此方法最好仅用于调试。
XML . etree . element tree . from string(文本)
文本是包含XML数据的字符串,类似于XML()方法,并返回元素实例。
XML . etree . element tree . from string list(sequence,parser=None)
从字符串的序列对象解析xml文档。默认的解析器是XMLParser,它返回一个元素实例。
2.7版新增。
XML . etree . element tree . is element(element)
检查它是否是元素对象。
XML . etree . element tree . ITER parse(source,events=None,parser=None)
将包含xml数据的文件或文件对象逐步解析到元素树中,并报告进度。事件是一个报告列表。如果忽略,将只报告结束事件。
注意iterparse()只有看到开始标签的符号才会抛出开始事件,所以当时已经定义了属性,但是当时还没有定义text和tail属性,同样的子元素也没有定义,所以可能不会显示。如果你想要完整的元素,请寻找结束事件。
XML . etree . element tree . parse(source,parser=None)
将文件或字符串解析成元素树。
XML . etree . element tree . processing instruction(target,text=None)
该方法创建一个特殊的元素,该元素被序列化为xml处理命令。
XML . etree . element tree . register _ namespace(前缀,uri)
注册名称空间前缀。此注册是全局有效的,任何给定的前缀或命名空间uri映射关系都将被删除。
2.7版新增。
XML . etree . element tree . sub element(parent,tag,attrib={},**extra)
元素工厂,创建一个元素实例并将其附加到一个已知节点。
XML . etree . element tree . tostring(element,encoding=us-ascii ,method=xml )
生成一个字符串来表示代表xml的元素,包括所有子元素。是元素实例,方法是“xml”、“html”、“text”。返回包含xml数据的字符串。
XML . etree . element tree . tostringlist(element,encoding=us-ascii ,method=xml )
生成一个字符串来表示代表xml的元素,包括所有子元素。是元素实例,方法是“xml”、“html”、“text”。返回包含xml数据的字符串列表。
2.7版新增。
xml.etree.ElementTree.XML(text,parser=None)
从字符串常量解析xml片段。返回一个元素实例。
XML . etree . element tree . xmlid(text,parser=None)
从字符串常量中解析xml片段,并返回一个字典来将元素的id映射到自身。
欢迎加入笔者软件测试技术交流群1125760266,共同探讨。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。