语法:python2.6
import xml.etree.ElementTree as ET
class Xml:
def __init__(self,filename):
#树元素实例创建
self.tree = ET.ElementTree()
#为上面的树元素读取文件
self.tree.parse(filename)
#parser为启用一个构造器,通过这个构造器定义来读取filename文件
#创造这个构造器,需要继承etree模块相关成员
self.tree.parse(filename,parser = '构造器')
#通过树元素getroot方法,获取根元素
self.root = self.tree.getroot()
#节点成员函数
#遍历node节点,返回一个生成器,
node.iter(tag=None)
#iter --- tag(str)为标识符,不填写默认为none,填写则以标识符为关键来识别,
#iter --- 遍历范围为,从自己开始往下遍历,包含自己
#遍历node节点,生成一个列表
node.getiterator(tar=None) = list(node.iter(tag=None))
#设置节点的属性值,参数key--属性名,value--属性值,如果key不存在,则新增
node.set(property,value)
#获取
key_name = node.get(property)
#节点属性集合集
node.items()
#创造新节点
node = ET.Element(tag=None,attriib={})
#节点成员变量
node.tail #节点尾部值,一般为空白字符
node.attriib #节点属性字典
node.tag #节点标识,可以理解为节点名
#将我们创建好的节点,添加在root节点下
self.root.append(node)
#最后,写入文件
self.tree。write(filename,encoding='')
import xml.dom.minidom as DOM
class xml:
def __init__(self):
#树元素实例创建
self.tree = DOM.parse(filename)
#根元素
self.root = self.tree.documentElement
#成员函数
#以文本形式,元素下的所有内容
print(node.toxml(encoding = 'gbk'))
#以tag为标识,获取属于node下以tag的标识的元素
node.getElementsByTagName(tag) #list
#node元素是否包含命名为key_name的属性
node.hasAttribute(key_name) #bool
#获取node元素key属性的value
value = node.getAttribute(key)
#增加子节点
node.appendChild(son_node)
#子元素列表
node.childNodes
这里注意,在DOM中,空白字符也会算为节点,所以这里的childNodes可能会有你不需要的空白字符节点
#元素名
node.nodeName
#第一个子元素
node.firstChild
#一个封装的字典实例
node.attributes['key']
.name #可以取键名
.value #可以取键值