XML概念与解析库


名称                访问接口       是否支持验证    备注
Expat              SAX/Local     不清楚          Local指它还有一套自己访问模型
LibXML2        SAX/DOM       验证    
TinyXml          DOM               否    
XML4C            SAX/DOM      验证            不过用了ICU,国际化似乎更好
Xerces-C        SAX/DOM      验证    
XML Booster  Local            不清楚          估计效率应该很高
 
Python自带的有ElementTree,比较常用的库是lxml,它是libxml2的py接口
 
关于DOM和SAX
DOM - DocumentObject Model
将整篇XML文档一次性解析并读入内存,保存为一个对象供用户访问。DOM无法处理大型XML文件。
SAX - Simple APIfor XML
SAX的XML解析方式是基于事件回调的,解析器在每遇到一个XML元素时都会产生一个事件,并执行由用户提供的处理函数。
 
两种常见的验证XML文档内容的工具:文档类型定义(Document Type Definitions,DTD)和XML Schema(已经成为W3C的正式推荐标准)
XML Schema文档本身也使用 XML 创建,称之为模式文档,它定义实例文档(即数据文档)的结构,各个属性的有效取值等。参见:
http://www.ibm.com/developerworks/cn/education/xml/x-valid/section5.html
http://bbs.xml.org.cn/dispbbs.asp?boardID=23&ID=11585
 

转载于:https://my.oschina.net/u/3485339/blog/900357

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值