您的位置:首页 > 编程语言 > Python开发

python解析xml

2017-02-26 14:37 288 查看
1. python自带的解析xml的包xml.dom.minidom 和xml.etree.ElementTree不支持对gbk编码进行解析。

解决办法一般为两个步骤:

(1).将xml文件转换为utf-8编码。

xmlText = open('xmlFileName','r').read().decode('gbk').encode('utf-8')

(2).将xml文件头的gbk替换为utf-8。

xmlText.replace('gbk','utf-8')

2. python解析xml有两种入参,一种是xml文件入参(适合xml为utf-8编码),一种是xml字符串入参(适合xml非utf-8编码)。

(1).minidom:

dom = minidom.parse('xmlFileName')

dom = minidom.parseString(xmlText)

(2). ElementTree:

tree = ElementTree.parse('xmlFileName')

tree = ElementTree.fromString(xmlText)

3.minidom一些方法:

获取根节点:

root = dom.documentElement

获取根节点下的标签:

for child in root.childNodes:

获取标签名

child.tagName 

获取标签内容

child.firstNode.nodeValue

获取标签属性:

child.getAttribute('id')

4.ElementTree的一些方法:

获取根节点:

root = tree.getRoot()

获取根节点下的标签:

for child in root:

获取标签名

child.tag

获取标签内容

child.text

获取标签属性:

child.attrib
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: