- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XML DOM 解析
IT资讯交流网 WWW.IT315.ORG XML DOM 解析 XML 的解析器 在解析 XML 文档时,通常是利用现有的 XML 解析器软件对 XML 文档进行分析,而应用程序则通过解析器提供的 API 接口得到 XML 数据 DOM, SAX 和 JAXP DOM (Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的标准接口 SAX(Simple API for XML) 不是某个官方标准,,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它 DOM 和 SAX 只是定义了一些接口,以及接口的默认实现,一个应用程序要想利用 DOM 或 SAX 访问 XML,还需要一个实现了 DOM 或 SAX 的解析器 不同解析器的实现类是不同的,在底层更换解析器时,需要少量的修改应用程序的代码。 为了屏蔽具体厂商的 XML 解析器实现,使 Java 程序员以一种标准的方式对 XML 进行编程, SUN 公司制定了 JAXP(Java API for XML Processing) 规范 JAXP 并没有提供解析 XML 的新方法,也没有为 XML 的处理器提供新功能,它只是在解析器之上提供了一个抽象层,允许程序员以独立于厂商的 API 访问 XML 数据 JAXP 从 JAXP 1.1 开始, JAXP 成为了 J2SE 和 J2EE 的一部分 JAXP 开发包由 javax.xml 包及其子包,org.w3c.dom 包及其子包,org.xml.sax 包及其子包组成 在 javax.xml.parsers 包中,定义了几个工厂类,用于加载 DOM 和 SAX 的实现类。 JAXP 由接口,抽象类和一些辅助类组成,符合 JAXP 规范的解析器实现其中的接口和抽象类,程序员只要使用 JAXP 的 API 编程,底层的解析器就可以随意切换了。 DOM 概述 DOM 是独立于程序语言的, W3C 组织以 IDL(Interface Definition Language, 接口定义语言) 的形式定义了 DOM 中的接口 某种程序语言要实现DOM,需要将 DOM 接口转换为本语言中的对应结构。 DOM 结构模型 DOM 中的核心概念是节点。 DOM 在解析 XML 文档时,将组成 XML 文档的各个部分(元素,属性,文本等)映射为一个对象,这个对象就是一个节点 在内存中,这些节点形成一棵文档树。整棵树也是一个节点,树中的每一个子节点也是一棵树(子树). DOM 就是对一棵树的一个对象表示,通过访问树中的节点来存取 XML 文档的内容。 DOM 定义了一个 Node 接口,用于表示文档树中的一个节点。从这个接口派生处更多的具体的接口:表示整个文档的 Document 对象,表示 XML 文档中元素的 Element 接口,表示属性元素的 Attr 接口等 DOM 中的节点类型 XML 中最常见的节点类型是:文档,元素,文本和属性,在 DOM API 中对应的接口是: Document, Element, Text 和 Attr。 文档节点 文档节点是文档树的根节点,也是文档中其他所有节点的父节点。 文档节点并不是 XML 文档的根元素,因为在 XML 文档中,处理指令,注释等内容可以出现在根节点之外,所以在构造 DOM 树时,根元素并不适合作为根节点,而作为文档节点的子节点。 在 DOM API 中根节点是通过 org.w3c.dom.Document 接口来表示的。 为了得到 XML 文档的根元素, 在 Document 接口中可以调用如下方法: Element getDocumentElement(); 元素节点 元素节点表示了 XML 文档中的元素。 元素拥有子元素,文本节点或两者的组合 元素节点也是唯一能够拥有属性的节点类型 在 DOM API 中,元素节点是通过 org.w3c.dom.Element 接口定义的。 文本节点 文本节点是只包含文本内容的节点,也可以只包含空白 在文档树中,元素和属性的文本内容都是由文本节点来表示的 在 DOM API 中,文本节点是由 org.w3c.dom.Text 接口来表示的。 属性节点 属性节点代表了元素中的属性 在 DOM API 中,属性节点通过 org.w3c.dom.Attr 接口来表示 因为属性实际上是附属于元素的,所以属性节点不是元素的子节点,而不作为单独的节点在文档树中出现 NodeList接口 NodeList org.w3c.dom.NodeList 接口提供了一个有序节点集合的抽象 NodeList 是活动的:例如使用 Node 接口的 getChildNodes() 方法得到一个节点的子节点列表,
文档评论(0)