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
解决办法一般为两个步骤:
(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
相关文章推荐
- Python解析XML文件
- python解析AndroidManifest.xml文件
- Python解析生成XML-ElementTree VS minidom
- 用 ElementTree 在 Python 中解析 XML
- Python高级编程—————8、Python XML解析
- Python 解析XML
- python对XML的解析
- Python XML解析
- Python基础教程(十一):多线程、XML解析
- python对XML的解析
- python 解析xml,并修改,插入标签。以及出现ns0的问题,和缩进问题。
- 用Python解析XML文件
- Python中将字典转换为XML以及相关的命名空间解析
- 简单介绍使用Python解析并修改XML文档的方法
- python基础-ElementTree、minidom解析xml
- Python使用XPATH解析特定结构XML文件速度提升方法
- python对XML的解析(简略分析)
- Python_使用ElementTree解析xml文件
- python xml解析
- python之xml解析 SAX解析及元素树解析