pythonXML文件概述_1.21

一、什么是xml文件?

xml即可扩展标记语言,它可以用来标记数据、定义数据类型、是一种允许用户对自己的标记语言进行定义的源语言

从结构上,很像HTML超文本标记语言。但被设计的目的是不同的,具体如下:

XML被设计用来传输和存储数据

HTML被设计用来显示数据

 

<?xml version="1.0" encoding="utf-8"?>

<note>

    <to id='0001'>George</to>

    <from>John</from>

    <heading>Reminder</heading>

    <body>Don't forget the meeting!</body>

    </note>

 

xml特征:

1、它是有标签对组成,<aa></aa>

2、标签可以有属性:<aa id='123'></aa>

3、标签对可以嵌入数据:<aa>abc</aa>

4、标签可以嵌入子标签(具有层级关系)

 

xml文件结构

1、xml文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”

2、第一行是xml声明。它定义xml的版本(1.0)和所使用的编码

3、<note>是根元素,也称为根节点

4、<to><from><heading><body>是子元素(子节点)

5、xml文档必须包含根元素,该元素是所有其他元素的父元素

 

二、python对XML的解析

常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,使用的场合也不同

python有三种方法解析:XML、SAX、DOM,以及ElementTree :

 

1、SAX(simple API for XML)

python标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的时间并调用用户定义的回调函数来处理XML文件

 

2、DOM(Document Object Model)文档对象模型

DOM就是针对 html 和xml 提供一个api,为了能以编程的方法操作这个html的内容(比如添加某些元素、修改元素的内容、删除某些元素),把 html 或 xml 看做一个对象树,它本身和里面的所有东西比如<div></div> 这些标签都看做一个对象,每个对象都叫做一个节点(node)

 

DOM有什么用?

就是为了操作 html 或 xml 中的元素,比如:我们要通过JS把这个网页的标题改了

document.title = 'python' ;

 

3、Element Tree(元素树)

ElementTree就像一个轻量级的DOM,具有方便友好的API。代码可用性好,速度快,消耗内存少

注:因DOM需要将XML数据映射到内存中的树,一是比较慢,二是比较消耗内存,而SAX流式读取XML文件,比较快,占用内存少,但需要用户实现回调函数

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值