Xerces-C++ DOM 编程指南(一)
设计目标
DOM 的 C++实现是基于阿帕奇推荐的 DOM(Apache Recommended DOM
C++ binding).
设计目标是为了满足如下需求:
1.降低内存占用率.
2.提高应用程序的性能,特别是那些服务器类型和多线程的应用程序.
3.多处理系统中优异的延展性.
4.比起 Java 来其风格更像 C++
Xerces-C++对 DOM Level 3 的支持
Xerces-C++2.8.0 包含了 W3C DOM(文档对象模型)Level 3 的部分实现,此实
现是实验性的.详情请查看文档 DOM Level 3 Support。
使用 DOM API
在您的程序代码中访问 API
#include <xercesc/dom/DOM.hpp>
在头文件<dom/DOM.hpp>中,包含了 DOM API 类所需要的全部头文件
类名
DOM 类名都以“DOM”为前缀(如果类名本身不以“DOM”开头),例如
“DOMNode”,这样是为了防止 DOM 类名与这样一些类名混淆:一些名称可能已经在
应用程序或基于 DOM 的应用程序所必须链接的类中所使用了。
DOMDocument* myDocument;
DOMNode* aNode;
DOMText* someText;
对象管理
应用程序在 C++ DOM 中将使用标准 C++指针直接访问对象所实现的节点。
思考下面的代码段:
DOMNode* aNode;
DOMNode* docRootNode;
aNode = someDocument->createElement(anElementName);
docRootNode = someDocument->getDocumentElement();
docRootNode->appendChild(aNode);
内存管理
C++ DOM 的实现提供了一个 release()方法用来释放所有的通过 creatxxx 工厂
方法创建的“孤儿(即现在已不再使用的)”资源,对象销毁而释放的内存资源由 C++
DOM 的实现进行管理。更详细说明请查看 Apache Recommended DOM C++
binding。