python中documentelement_python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)...

本文详细介绍了Python中XML的DOM解析和ElementTree库的使用,包括加载XML文件、获取节点信息、解析XML内容以及如何创建XML文件。通过示例展示了如何访问和操作XML文档的不同部分,包括节点、属性和值。

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

xml.dom篇

DOM是Document Object Model的简称,XML 文档的高级树型表示。该模型并非只针对 Python,而是一种普通XML 模型。Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里。

一、xml.dom的简单介绍

1、主要方法:

minidom.parse(filename):加载读取XML文件

doc.documentElement:获取XML文档对象

node.getAttribute(AttributeName):获取XML节点属性值

node.getElementsByTagName(TagName):获取XML节点对象集合

node.childNodes :返回子节点列表。

node.childNodes[index].nodeValue:获取XML节点值

node.firstChild:访问第一个节点,等价于pagexml.childNodes[0]

返回Node节点的xml表示的文本:

doc = minidom.parse(filename)

doc.toxml('UTF-8')

访问元素属性:

Node.attributes["id"]

a.name #就是上面的 "id"

a.value #属性的值

2、举例说明

例1:文件名:book.xml

Book message

python check

001

200

python learn

002

300

(1)创建DOM对象

import xml.dom.minidom

dom1=xml.dom.minidom.parse('book.xml')

(2)获取根字节

root=dom1.documentElement #这里得到的是根节点

print root.nodeName,',',root.nodeValue,',',root.nodeType

返回结果为:

info , None , 1

其中:

info是指根节点的名称root.nodeName

None是指根节点的值root.nodeValue

1是指根节点的类型root.nodeType,更多节点类型如下表:NodeType

Named Constant

1

ELEMENT_NODE

2

ATTRIBUTE_NODE

3

TEXT_NODE

4

CDATA_SECTION_NODE

5

ENTITY_REFERENCE_NODE

6

ENTITY_NODE

7

PROCESSING_INSTRUCTION_NODE

8

COMMENT_NODE

9

DOCUMENT_NODE

10

DOCUMENT_TYPE_NODE

11

DOCUMENT_FRAGMENT_NODE

12

NOTATION_NODE

(3)子元素、子节点的访问

A、返回root子节点列表

import xml.dom.minidom

dom1=xml.dom.minidom.parse('book.xml')

root=dom1.documentElement

#print root.nodeName,',',root.nodeValue,',',root.nodeType

print root.childNodes

运行结果为:

[, , , , , , ]

B、获取XML节点值ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值