使用python3.4解析xml文件(sax、dom、etree),python3.4etree,调用sax模块处理xml
使用python3.4解析xml文件(sax、dom、etree),python3.4etree,调用sax模块处理xml
调用sax模块处理xml文件。
#重载了三个方法#处理xml,主要就是写自己的事件处理类from xml.sax import *class DengHandler(ContentHandler): def startDocument(self): print("----开始解析xml文档----") def endDocument(self): print("----xml文档解析完毕----") def startElement(self,name,attrs): if name == "author": print("名字:",attrs['name']," 日期:",attrs["birth"])parse("deng.xml",DengHandler())
deng.xml
<?xml version = "1.0" encoding = "utf-8"?> <author name = "dengjingdong" birth = "19920517"></author></people>
调用dom模块中的minidom处理xml文件。
from xml.dom.minidom import *#scannode函数打印xml文件的结构def scannode(doc,level = 0): ret = doc.__class__.__name__ if doc.nodeType == Node.ELEMENT_NODE: ret += ",标签:" + doc.tagName print(" "*4*level,ret) if doc.hasChildNodes: for child in doc.childNodes: scannode(child,level+1)#----scannode-----xin = parse("book.xml")print(xin)scannode(xin)#----scannode-----x = parse("domtest.xml")nx = x.getElementsByTagName("author")print(nx[0].getAttribute("birth"))print(nx[0].childNodes[0].data)print(nx[1].getAttribute("birth"))print(nx[1].childNodes[0].data)
book.xml
<?xml version = "1.0" encoding = "utf-8" ?><book> <title>the book title</title> <author> <name>jingdong</name> <boy>true</boy> </author> <chapter number = "1"> <title> first chapter </title> <para> I love python. </para> </chapter></book>
domtest.xml
<?xml version = "1.0" encoding = "utf-8" ?><people> <author name = "dengjingdong" birth = "1990517">dongdong</author> <author name = "wushengnan" birth = "19920520">nannan</author></people>
调用etree模块中的ElementTree生成所需的xml文件。
import xml.etree.ElementTree as etx = et.Element("name")x.text = "dengjingdong"x.set("boy","true")sx = et.tostring(x)print(sx)
相关内容
- 多线程下载豆瓣相册,多线程豆瓣相册,None
- Python写的网站C段扫描工具,pythonc段扫描工具,#!/usr/bi
- 使用python进行简单的文本处理,python文本处理,涉及到如
- python 微信爬虫,python信爬虫,# -*- coding
- python 中缀编程工具库pipe使用方法,中缀pipe,from pipe i
- 找出a-b之间的质数,找出a-b质数,def prime(b
- 使用IP138数据库查询IP地址所在地,ip138ip,#-*- coding:
- 演示可变参数函数,可变参数函数,#演示可变参数函数
- python http上传文件处理示例,,<HTML><FORM
- 闲来无事,,,,一个“画图&quot;,闲来无事画图,im
评论关闭