一、环境配置:
1、到官方网站http://xerces.apache.org/xerces-c/上下载源代码包或BIN包。
2、如果下载的是BIN包则不需要这一步。解压Xerces-c,编译XercesLib工程,
生成适合自己系统(32位或64位)的库文件(静态库或动态库)。
3、在自己的工程中引用该库的头文件、Lib文件、和DLL文件即可。
二、Xerces-C++解析器
编写Xerces-C++程序不依赖于所使用的API,无论是DOM,SAX或SAX2,在调用这些API之前都必须调用
XMLPlatformUtils::Initialize()初始化Xerces系统,并在结束时调用XMLPlatformUtils::Terminate()
终止系统。在每个进程中它们必须至少被调用一次。也可以调用多次,但是每次调用前者的次数必须与
调用后者的次数相匹配。
三、DOM编程指导
对象管理:
应用直接使用C++指针访问C++ DOM中节点的实现对象。
内存管理:
C++ DOM实现中提供了一个release方法,用于释放通过createXXXX方法创建的任何“孤岛”资源。
返回对象的内存归实现所用。详情请参见Apache推荐的DOM C++绑定。
字符串类型:
C++ DOM使用无格式的,以NULL结束(XMLCh*)的utf-16字符串作为字符串类型。
重要接口:
XercesDOMParser、DOMBuilder、DOMWriter。
详见帮助文档http://xerces.apache.org/xerces-c/apiDocs-2/classes.html
XML中元素和结概念的解释
对于xslt处理器来看,来源树(就是要使用xslt转换的xml原文档)中的元素,属性,名字空间,注释,文本内容,处理指令,还有整个文档(即看成根节点),这7种都是节点。那么元素节点仅仅是其中的一种。
简单的说元素节点就是使用用左右尖括号(如:<book>)的那个元素的节点。比如下面的xml文档:
<?xml version="1.0"?>
<?xml:stylesheet type="text/xsl" href="bookList2.xsl"?>
<list>
<book ID="601" name="book1">
xml
</book>
</list>
对于xslt处理器来说元素节点有:list,book;
属性节点有:ID="601", name="book1"
处理指令节点有:<?xml:stylesheet type="text/xsl" href="bookList2.xsl"?>
文本节点有:xml
所以元素仅仅是其中的一种节点。