Python操作XML文件--XML概述

本文介绍了XML的基础知识,包括语法特点如文件声明、元数据处理和注释,以及XML解析的三种方式:DOM(占用内存大,解析慢)、SAX(事件驱动,节省资源)和ElementTree(性能与SAX相仿,API更易用)。

XML:可扩展标置语言,为HTML(超文本标置语言)的补充。HTML用于显示数据,而XML用于传输和存储数据

一.XML语法

    XML文件通常分为两部分:文件声明和文件主体

    =>文件声明:位于第一行

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

        =>version标明此文件所用的标准的版本号,必须要有

        =>encoding标明此文件中所使用的字符类型,可以省略;省略时后面的字符码必须是Unincode字符码(建议不省略

    =>文件主体

        =>必须有根元素

        =>标签对大小写敏感

        =>属性

            应尽量避免使用属性,因为属性难以阅读和维护,尽量使用元素来描述数据,仅使用属性来提供与数据无关的信息。

               =>元数据(有关数据的数据,如id)应当存储为属性,而数据本身应存储为元素

            属性值必须加“”或者‘’。当属性值含有“”时,用‘’;当属性值含有‘’时,用“”;当属性值既含有‘’又含有“”时,用实体字符

               =>&lt   小于(<)     =>&gt   大于(>)     =>&amp   和号(&)     =>&apos   单引号(')     =>&quot   引号(")

        =>注释

             <!--注释内容-->

        =>空格

            HTML中会把多个连续空格字符合并为一个;但XML不会

        =>换行

             windows应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)

             XML以LF存储换行

二.DOM(Document Object Model,文档对象模型)

    DOM以树状的层次结构存储XML文档中的数据,每个结点都是一个相应对象。

    DOM解析器在任何处理任务开始之前,必须把基于XML文件生成的树状数据放在内存,所以DOM解析器的内存使用量完全根据XML文件的大小来决定。=>占用内存大,解析和加载整个文档可能很慢且很耗资源

三.SAX(simple API for XML)

    SAX是事件驱动(基于回溯机制的程序运行方法)的,牺牲了便捷性来换取速度和内存占用。不需要一次性读入整个文档,而文档的读入过程就是SAX的解析过程,即逐行扫描文档,边扫描边解析。

四.ElementTree

    ET的性能与SAX模块大致相仿,但它的API更加高层次,用户使用起来更加便捷。

   

    

             

    

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值