zyXML 是一个轻便、小巧的,纯易语言代码来解析XML的模块。
优点:
1、不依赖任何DLL、支持库、系统组件(Microsoft.XMLDOM等对象)
2、支持UTF-8 、UTF-16 等编码
3、支持 XPath 语法来查询节点
4、支持 CDATA
5、开源(如果有任何问题可以自己修改)
缺点:
1、加载速度稍微逊色于支持库,但是查询速度很快。
2、不支持DTD,也就是类似于如下的节点
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
3、XPath查询语法支持不全(要全部支持太麻烦了,实在没精力去解析了)
XPath具体语法可参考:http://www.w3school.com.cn/xpath/xpath_syntax.asp
目前支持的XPath 语法有限,不支持的有:
1、查找只能返回节点,而不能返回属性,当然查找条件可以有属性,如:节点名[@属性\u540d='\u5c5e\u6027\u503c']
2、[] 括号里面的谓语表达式 仅仅支持一个操作符号,且不支持 | 、 or 、 and 和 mod ,并且属性名不支持*,仅仅元素名才支持*
3、轴 不支持 following、namespace、preceding 和 preceding-sibling
4、函数都不支持,但是可以有如下使用:
node() 可返回所有节点且不管节点是什么类型
cdata() 仅查找 CDATA 类型的节点
text() 仅查找 文本 节点
comment() 仅查找 注释 节点
* 仅查找 元素 节点
1