Python XML文档解析

在配置Jenkins的jobs的时候,需要用到对XML文件的操作,因此在网上找了一些方法,总结一下:

xml.xtree.Element库

需要引入以下几个包:

1
2
import xml.etree.ElementTree as ET
from xml.etree.ElementTree import ElementTree, Element

读取XML文件到Python脚本中:

方法一:从文件中读取

1
2
tree = ElementTree()
tree.parse(xmlPath)

方法二:从字符串中读取

1
tree = ET.fromstring(xmlString)

寻找某个节点(nodeName或Path)

1
node = tree.find(tagNameOrPath) # 可以通过tag name或者path寻找到第一个符合的节点,没有找到返回None

增加/改变/删除节点的属性

1
2
node.set(key, value) # 增加或修改node下名称为key的属性,值为value
del node.attrib[key] # 删除node下名称为key的属性

对节点增加/改变/删除文本

1
2
3
4
5
6
node.text += text # 增加
node.text = text # 改变
node.text = '' # 删除
'''
总之,对node.text进行操作就对了
'''

创建一个新的节点

1
2
element = Element(tag, propertyDict) # tag是新节点的名称,propertyDict是新节点的属性字典
element.text = text # 新节点的文本内容

在节点下加入/删除节点

1
2
node.append(element) # 加入多个节点时可以用extend(subelements)
node.remove(element) # 删除node下的element节点

更多细节,可以查看官方文档:

https://docs.python.org/2/library/xml.etree.elementtree.html#xml-tree-and-elements


-------------本文结束感谢您的阅读-------------
0%