import com.ms.com.*;
import msxml.*;
public class Class1
{
public static void main (String[] args)
{
DOMDocument doc = new DOMDocument();
doc.load(new Variant("file://d:/samples/ot.xml"));
System.out.println("Loaded " doc.getDocumentElement().getNodeName());
}
}
代码示例将从 sun religion 示例中加载 3.8MB 测试文件“ot.xml”。Variant 类用于包装 Win32 VARIANT 基本类型。
因为在每次检索节点时实际上都获得了新的包装程序,因此不能在节点上使用指针比较。因此,不要使用下面的代码,
IXMLDOMNode root1 = doc.getDocumentElement();
IXMLDOMNode root2 = doc.getDocumentElement();
if (root1 == root2)...
而要使用下面的代码:
if (ComLib.isEqualUnknown(root1, root2)) ....
.class 包装程序的总大小大约为 160KB。但是,为了与 W3C 规范完全符合,应该只使用 IXMLDOM* 包装程序。下面的类是旧的 IE 4.0 XML 接口,可以从 msxml 文件夹中删除它们:
IXMLAttribute*,
IXMLDocument*, XMLDocument*
IXMLElement*,
IXMLError*,
IXMLElementCollection*,
tagXMLEMEM_TYPE*
_xml_error*
这使大小减少为 147KB。同时还可以删除下面的项目:
DOMFreeThreadedDocument
在 Java 应用程序中从多个线程访问 XML 文档。
XMLHttpRequest
用 XML DAV HTTP 扩展与服务器通信。
IXTLRuntime
定义 XSL 样式表脚本对象。
XMLDSOControl
绑定到 HTML 页面中的 XML 数据。
XMLDOMDocumentEvents
在分析过程中返回回调。
这可以将大小减少到 116KB。要使它更小,请考虑 DOM 本身有两层的事实:核心层包括: