考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:设计制作 > XML > 文章内容
  

XML教程:XML入门的常见问题(四)

 [ 2017年8月29日 ] 【

  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 本身有两层的事实:核心层包括:

  DOMDocument, IXMLDOMDocument

  IXMLDOMNode*

  IXMLDOMNodeList*

  IXMLDOMNamedNodeMap*

  IXMLDOMDocumentFragment*

  IXMLDOMImplementation

  IXMLDOMParseError

  和用户可能需要保留的 DTD 信息:

  IXMLDOMDocumentType

  IXMLDOMEntity

  IXMLDOMNotation

  XML 文档中的所有节点类型都是 IXMLDOMNode,它提供全部功能,但是存在每种节点类型的更高级别的包装程序。因此,如果修改 DOMDocument 包装程序并将这些特定类型更改为使用 IXMLDOMNode,那么所有下面的接口都可以删除:

  IXMLDOMAttribute

  IXMLDOMCDATASection

  IXMLDOMCharacterData

  IXMLDOMComment

  IXMLDOMElement

  IXMLDOMProcessingInstruction

  IXMLDOMEntityReference

  IXMLDOMText

  删除这些将使大小减少到 61KB。但是,对 IXMLDOMElement 来说,getAttribute 和 setAttribute 方法都是有用的。否则需要使用:

  IXMLDOMNode.getAttributes().setNamedItem(...)

首页 1 2 尾页
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved