Python学习笔记(8):The ElementTree XML API——操作XML文件

常用函数

xml.etree.ElementTree.Comment(text=None)

该方法生成一个注释对象,注释内容是text。

xml.etree.ElementTree.dump(elem)

该方法将一个对象打印到标准输出。这个函数只用来调试(一般不把结果打印到标准输出)。

xml.etree.ElementTree.fromstring(text)

解析字符串text,生成一个Element实例。该方法等同于XML()。

xml.etree.ElementTree.fromstringlist(sequence, parser=None)

解析list,生成一个Element实例。

xml.etree.ElementTree.iselement(element)

判断element是否是一个合法的Element对象。

xml.etree.ElementTree.parse(source, parser=None)

解析文件内容,source是文件名,返回值是一个Element实例。

xml.etree.ElementTree.register_namespace(prefix, uri)

注册一个命名空间,prefix是命名空间前缀,uri是命名空间的uri。作用域为全局,注册后删除匹配到前缀或uri的元素。

xml.etree.ElementTree.SubElement(parent, tag, attrib={}, **extra)

创建子元素。parent是指定父元素,tag是子元素名称,attrib是元素属性(类型是dict)。

xml.etree.ElementTree.tostring(element, encoding=”us-ascii”, method=”xml”)

返回指定对象的字符串形式,其中method可以是”xml”、”html” 或 “text”

xml.etree.ElementTree.tostringlist(element, encoding=”us-ascii”, method=”xml”)

作用同tostring,返回结果为list,这里”“.join(tostringlist(element)) == tostring(element)

Element对象

属性

tag

用于标识元素的字符串

text、tail

text表示元素的开始标签和第一个子标签或结束标签或None之间的内容。tail表示元素的结束标签和下一个标签或None之间的内容。
例如

<a><b>1<c>2<d/>3c>b>4a>

上述代码中,a的text和tail都是None,b的text是1,tail是4,c的text是2,tail是None,d的text是None,tail是3。

attrib

元素的属性

函数

clear()

将Element对象重置,删除所有子元素,清空属性,text和tail都置为None。

get(key, default=None)

获取name为key的属性

append(subelement)

将subelement追加到指定元素的末尾

extend(subelements)

将subelements追加到指定元素,subelements是一个元素为element的list

find(match)

返回第一个匹配到match的子元素,match是tag名称或路径

findall(match)

返回所有匹配到match的子元素,match是tag名称或路径,返回结果是一个list

findtext(match, default=None)

返回第一个匹配到match的子元素的text,如果未匹配,返回default,如果匹配的元素没有text,则返回一个空字符串

insert(index, element)

在指定元素的指定位置插入一个子元素

iter(tag=None)

以当前元素为根元素,创建iterator,这个iterator可以遍历当前元素下的所有元素(深度优先),如果遍历过程中树结构变化,结果返回undefined

iterfind(match)

返回所有匹配到的子元素

itertext()

遍历当前元素及其全部子元素,返回text

remove(subelement)

删除子元素,该方法匹配元素对象,而不是tag

ElementTree对象

函数

_setroot(element)

替换根元素

find*(match)

find*(match)都等同与Element对象的同名方法

getroot()

获取根元素

write(file, encoding=”us-ascii”, xml_declaration=None, default_namespace=None, method=”xml”)

将ElementTree对象写入文件

你可能感兴趣的:(python)