python解析XML文档
来源:互联网 发布:centos 开机启动脚本 编辑:程序博客网 时间:2024/05/16 01:52
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<info>
<intro>保存用户的信息</intro>
<list id='001'>
<head>auto_userone</head>
<name>Jordy</name>
<number>12345678</number>
<age>20</age>
<sex>男</sex>
<hobby>上彀</hobby>
</list>
<list id='002'>
<head>auto_usertwo</head>
<name>功夫</name>
<number>34443678</number>
<age>18</age>
<sex>男</sex>
<hobby>功夫</hobby>
</list>
</info>
用sax解析
from xml.dom import minidom
class praseXML:
def __init__(self):
self.dom = minidom.parse("data.xml")
self.root = self.dom.documentElement
self.elements = self.root.childNodes
for element in self.elements:
if element.nodeType is not element.TEXT_NODE:
if element.hasAttribute('id'):
print element.nodeName,'-->',element.getAttribute('id')
nodes = element.childNodes
for node in nodes:
if node.nodeType is not node.TEXT_NODE:
print node.nodeName,'-->',node.firstChild.nodeValue
def getTagByName(self,tagname):
nodes = self.root.getElementsByTagName(tagname)
return nodes
if __name__ == '__main__':
obj = praseXML()
nodes = obj.getTagByName('name')
for node in nodes:
print node.nodeName,'-->',node.firstChild.nodeValue
用etree解析
import xml.etree.ElementTree as ET
class parseXML:
def __init__(self):
self.filename = 'data.xml'
def load_xml_file(self):
root = ET.parse(self.filename).getroot()
print root.tag
intro = root.find('intro')
print intro.tag,'-->',intro.text
all_users = root.findall('list')
usermap = {}
count = 0
for user in all_users:
count += 1
head = user.find('head')
name = user.find('name')
sex = user.find('sex')
print sex.text
usermap[head.tag+str(count)] = head.text
usermap[name.tag+str(count)] = name.text
usermap[sex.tag+str(count)] = sex.text
return usermap
if __name__ == '__main__':
obj = parseXML()
usermap = obj.load_xml_file()
print usermap
- python解析XML文档
- python解析XML文档
- python解析xml文档
- Python解析xml文档
- Python解析XML文档
- Python 解析 xml文档
- python解析xml文档实例
- python解析xml文档实例
- python中如何解析xml文档
- Dom解析XML文档
- jdom解析xml文档
- Java解析XML文档
- JAVA 解析XML文档
- DOM 解析 XML 文档
- DOM解析XML文档
- TinyXML解析xml文档
- jdom解析xml文档
- xml 文档解析
- C#扩展方法初探
- SQL语句大全
- C C++ 编程Editor 选择
- 在C#中使用Response.write返回的内容不要HTML
- 网络流演示
- python解析XML文档
- UVa 10392: Factoring Large Numbers
- dancelinks(重复) 模板
- 黑马程序员——网络通信
- dancelinks (精确) 模板
- HDU 2025 查找最大元素
- 但是生活总不是完美的
- 大数高精度模板
- 贝叶斯分类器