首页 > 其他 > 详细

xml数据获取(dom方式)_byseyOrd

时间:2020-04-12 19:26:12      阅读:45      评论:0      收藏:0      [点我收藏+]

 XML

XML被设计用来传输和存储数据。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言

<?xml version="1.0" encoding="utf8"?>
<root>
    <book price="99">
        <name>计算机程序设计语言 第1版</name>
    </book>
</root>

节点类型

  ‘ELEMENT_NODE‘,元素节点; ‘TEXT_NODE‘,文本节点; ‘ATTRIBUTE_NODE‘,属性节点
  所以分析上面的xml , book元素节点内有一个属性节点和一个name元素节点,name元素节点力有一个文本节点
xml.dom 读取的api
xml.dom.parse(打开的文件别名)    #获取DOM对象
DOM对象.documentElement      #获取根节点,根节点唯一,返回不是列表
节点.nodeName        #获取nodeName
节点.nodeType        #获取nodeType
节点.chileNodes        #获取子节点列表
节点.getAttribute("属性名")        #获取属性节点的value
节点.getElementsByTagName("css标签名")  #获取属性节点的某个标签节点的列表
文本节点.data      # 获取某个元素节点的文本内容,先获取子文本节点,然后通过“data”属性获取文本内容

读取xml例子  
from xml.dom import minidom
with open(‘acss.xml‘,‘r‘,encoding=‘utf8‘) as fh:
#parse()获取DOM对象 dom=minidom.parse(fh) # 获取根节点 root=dom.documentElement # 节点名称 print(root.nodeName) print(root.nodeType) # 获取某个节点下所有子节点,是个列表 print(root.childNodes) # 通过dom对象或根元素,再根据标签名获取元素节点,是个列表 book=root.getElementsByTagName(‘book‘)[0] # 获取节点属性 print(book.getAttribute(‘price‘)) # 获取某个元素节点的文本内容,先获取子文本节点,然后通过“data”属性获取文本内容 name=root.getElementsByTagName(‘name‘)[0] name_text_node=name.childNodes[0] print(name_text_node.data) # 获取某节点的父节点 print(name.parentNode.nodeName)

 

xml数据获取(dom方式)_byseyOrd

原文:https://www.cnblogs.com/seyOrd/p/12686996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!