python基础-ElementTree、minidom解析xml
来源:互联网 发布:你别无选择 知乎 编辑:程序博客网 时间:2024/06/07 06:37
- minidom
- ElementTree
xml文件如下:
<?xml version="1.0"?><data> <country name="Singapore"> <rank>4</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor name="Malaysia" direction="N"/> </country> <country name="Panama"> <rank>68</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor name="Costa Rica" direction="W"/> <neighbor name="Colombia" direction="E"/> </country></data>
minidom
from xml.dom.minidom import parseimport xml.dom.minidom# 使用minidom解析器打开XML文档DOMTree = xml.dom.minidom.parse("country.xml")Data = DOMTree.documentElement#data不含name属性if Data.hasAttribute("name"): print("name element : %s" % Data.getAttribute("name"))# 在集合中获取所有国家Countrys = Data.getElementsByTagName("country")# 打印每个国家的详细信息for Country in Countrys: if Country.hasAttribute("name"): print("name: %s" % Country.getAttribute("name")) rank = Country.getElementsByTagName('rank')[0] print("rank: %s" % rank.childNodes[0].data) year = Country.getElementsByTagName('year')[0] print("year: %s" % year.childNodes[0].data) gdppc = Country.getElementsByTagName('gdppc')[0] print("gdppc: %s" % gdppc.childNodes[0].data) for neighbor in Country.getElementsByTagName("neighbor"): print(neighbor.tagName, ":", neighbor.getAttribute("name"), neighbor.getAttribute("direction")) print("-----------next-----------------")
输出如下:
E:\python\python_sdk\python.exe E:/python/py_pro/python.pyname: Singaporerank: 4year: 2011gdppc: 59900neighbor : Malaysia N-----------next-----------------name: Panamarank: 68year: 2011gdppc: 13600neighbor : Costa Rica Wneighbor : Colombia E-----------next-----------------Process finished with exit code 0
ElementTree
import xml.etree.ElementTreetry: import xml.etree.cElementTree as ETexcept ImportError: import xml.etree.ElementTree as ETimport sys# 打开xml文档tree = ET.parse("country.xml")print("---获得root节点-------")root = tree.getroot()print(root.tag, root.attrib)print("---获得root节点下的二级节点-------")for child in root: print(child.tag, "---", child.attrib)print("------通过下标访问--------")print(root[0][1].text) # 通过下标访问print(root[0].tag)print("------获取特地的节点--------")for country in root.findall('country'): # 找到root节点下的所有country节点 rank = country.find('rank').text # 子节点下节点rank的值 name = country.get('name') # 子节点下属性name的值 print(name, rank)print("--修改xml-------")for country in root.findall('country'): rank = int(country.find('rank').text) if rank > 50: root.remove(country)tree.write('output.xml')
输出如下:
E:\python\python_sdk\python.exe E:/python/py_pro/python.py---获得root节点-------data {}---获得root节点下的二级节点-------country --- {'name': 'Singapore'}country --- {'name': 'Panama'}------通过下标访问--------2011country------获取特地的节点--------Singapore 4Panama 68--修改xml-------Process finished with exit code 0
output.xml
<data> <country name="Singapore"> <rank>4</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor direction="N" name="Malaysia" /> </country> </data>
阅读全文
0 0
- python基础-ElementTree、minidom解析xml
- python xml解析ElementTree
- python解析xml ElementTree
- python-minidom模块【解析xml】
- python-minidom模块【解析xml】
- Python解析XML的minidom
- Python使用ElementTree解析XML
- python 使用ElementTree解析XML
- Python 使用ElementTree解析XML
- Python中用ElementTree解析XML
- python xml.etree.ElementTree解析
- Python中用ElementTree解析XML
- Python入门教程-11 xml解析(minidom)
- 使用python的minidom解析xml
- python xml.etree ElementTree解析 编辑 xml
- python XML解析--xml.etree.ElementTree
- python-xml.etree.ElementTree解析xml文件
- python使用elementtree模块解析xml
- Http协议和Tomcat服务器
- Handler 消息处理机制 简单语法介绍(内部)
- timer.schedule —— timer定时器的用法
- 利用itex操作从数据库导出大量数据-功能汇总(一)
- HTML中(块级元素和非块级元素的区别)
- python基础-ElementTree、minidom解析xml
- ccf201612-2
- 重新认识HashMap
- 【一】Uboot-2017.11源码分析启动过程之汇编部分
- Android多渠道SDK开发心得
- ubuntu使用vim编辑器异常
- 设计模式—依赖倒转原则
- ubuntu 16.04 LTS
- windows卸载系统补丁