python5月28号XML

1.XLM可标记语言:用来传输和存储数据
2.python中XML的解析方式:

SAX:SAX解析通过流模式在解析XML的过程中触发对应的事件(start_element、char_data、end_element)并调用用户定义        的回调函数来处理XML文件。

DOM:将XML数据在内存中解析成一个树,通过对树的操作来操作XML,占用内存大,解析速度较慢,优点是可以任意遍历树的节        点。

ElementTree(元素树):类似一个DOM

XML文本格式介绍:

例如:

<tag attrib=>text</tag>tail

<biaoqian channel='csdn'>hello123456789</app_key>

tag:标签,用于表示数据表示那种类型,及biaoqian

attrib:属性,用Dictionary形式保存,即{'channel'='CSDN'}

text:文本字符串,可以用来存储一些数据,即hello123456789

tail:尾字符串,可以不写

3.ElementTree解析XML文件的过程

.首先要导入模块:import xml.etree.ElementTree as ET

.解析xml文件的根节点

.加载文档到内存中:tree=ET.parse('文件名.xml')

.获取xml根节点方法: root=tree.getroot

root:根

.遍历根节点可以获取子节点

示例1:

python5月28号XMLpython5月28号XML

运行结果:

python5月28号XML

python5月28号XML

4.查找指定的子节点

当XML文件中的子节点(tag)太多时,就通过find('nodeName')或者findall('nodeName')

node:节点

find('nodeName'):表示在该节点下,查找其中第一个tag(节点)为nodeName(节点名称)的节点.

findall('nodeName'):表示在该节点下,查找其中所有tag为nodeName的节点

示例2:

python5月28号XML

分析:

python5月28号XML

5.删除指定节点以及保存

通过remove(Node)来删除节点

示例3:移除attribute中name为的节点:panama

python5月28号XML

python5月28号XML

示例4:

python5月28号XML

运行结果:

python5月28号XML

6.一个简易的爬虫

一.首先要导入模快,在打开一个url

python5月28号XML