XML解析 dom.minidom

本文介绍如何使用DOM(Document Object Model)解析XML文件,并提供了具体的Python代码示例。文章演示了如何加载XML文档到DOM树,获取根节点,以及通过标签名查询特定节点并提取其内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        DOM (  Document Object Model):通过构建一个树结构来表现整个XML文档

一但树被构建,可以通过过DOM提供接口来遍历树和提取相应的数据。

*使用parse() 或   createDocument() 返回为DOM对象

*使用DOM的docuememtElement属性可以获得Root Element

*DOM为树形结构,包含许多nodes,其中element是node的一种,可以包含子elements,textNode也是node的一种,是最终的子节点;

*每个node都有nodeName,nodeValue,nodeType属性,nodeValue是节点的值,只对textNode有效。对于textNode,想要得到他的文本内容,可以使用   .data属性

*getElementsByTagname()可以根据名字来查找子elements

*childNodes返回所有的子Nodes.其中所有的文本均为textNode,包含元素间的“\n\r”和空格 均为 textNode

from xml.dom.minidom import parse
domTree = parse("1.xml")
root= domTree.documentElement #得到根节点列表
book=root.getElementsByTagName("book")#通过标签名字得到得到子节点的地址列表
for b in book:
    bname=b.getElementsByTagName("bname")[0].childNodes[0].data
    price=b.getElementsByTagName("price")[0].childNodes[0].data
    author=b.getElementsByTagName("author")[0].childNodes[0].data
    books.append(Book(bname,price,author))
for i in books:
    print(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值