没有合适的资源?快使用搜索试试~ 我知道了~
本文实例讲述了Python使用minidom读写xml的方法。分享给大家供大家参考。具体分析如下: 一 python提供的xml支持 2种工业标准的xml解析方法-SAX和DOM。SAX(simple API for XML),是基于事件处理的,当XML文档顺序地读入时,每次遇到一个元素会触发相应的事件处理函数来处理。DOM(Document Object Model),通过构建一个树结构来表现整个xml文档,一旦树被构建,可以通过DOM提供了接口来遍历树和提取相应的数据。 python还提供了python独特的xml解析方法,相比于SAX和DOM更容易使用和更加快速,此方法为Elemen
资源推荐
资源详情
资源评论
Python使用使用minidom读写读写xml的方法的方法
本文实例讲述了Python使用minidom读写xml的方法。分享给大家供大家参考。具体分析如下:
一 python提供的xml支持
2种工业标准的xml解析方法-SAX和DOM。SAX(simple API for XML),是基于事件处理的,当XML文档顺序地读入时,每
次遇到一个元素会触发相应的事件处理函数来处理。DOM(Document Object Model),通过构建一个树结构来表现整个xml
文档,一旦树被构建,可以通过DOM提供了接口来遍历树和提取相应的数据。
python还提供了python独特的xml解析方法,相比于SAX和DOM更容易使用和更加快速,此方法为ElementTree。
python的xml模块为:
1)xml.dom.minidom
2)xml.elementtree
3)xml.sax + xml.dom
二 xml实例:(employees.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<employees>
<employee>
<name>l inux </name>
<age> 30 </age>
</employee>
<employee>
<name>windows </name>
<age> 20 </age>
</employee>
</employees>
三 使用xml.dom.minidom来读写xml
1)使用xml.dom.minidom来解析xml:
def TestMiniDom():
from xml.dom import minidom
doc = minidom.parse( "employees.xml" )
# get root element: <employees/>
root = doc.documentElement
# get all children elements: <employee/> <employee/>
employees = root.getElementsByTagName( "employee" )
for employee in employees:
print ( " ------------------------------------------- " )
# element name : employee
print (employee.nodeName)
# element xml content : <employee><name>windows</name><age>20</age></employee>
# basically equal to toprettyxml function
print (employee.toxml())
nameNode = employee.getElementsByTagName( "name" )[0] print (nameNode.childNodes)
print (nameNode.nodeName + ":" + nameNode.childNodes[0].nodeValue)
ageNode = employee.getElementsByTagName( "age" )[0] print (ageNode.childNodes)
print (ageNode.nodeName + ":" + ageNode.childNodes[0].nodeValue)
print ( " ------------------------------------------- " )
for n in employee.childNodes:
print (n)
TestMiniDom()
2)使用xml.dom.minidom来生成xml:
def CreateXml():
import xml.dom.minidom
impl = xml.dom.minidom.getDOMImplementation()
dom = impl.createDocument(None, 'employees' , None)
root = dom.documentElement
employee = dom.createElement( 'employee' )
root.appendChild(employee)
nameE = dom.createElement( 'name' )
nameT = dom.createTextNode( 'linux' )
nameE.appendChild(nameT)
employee.appendChild(nameE)
ageE = dom.createElement( 'age' )
资源评论
weixin_38692043
- 粉丝: 9
- 资源: 947
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功