基于DOM模型的JAXP解析XML

对于XML解析通常分为两种:

1.DOM解析(Document Object Model,文档对象模型),该方式是W3C 组织推荐的处理 XML 的一种方式。

2.另一种是SAX(Simple API for XML)。

当然IBM公司后面退出了JAXB,基于JavaBean的XML解析方式,不过本文描述的是DOM模型解析原理以及使用Java内置的API(JAXP---Java API for XML Processing)通过DOM模型来解析XML,因为JAXP作为JavaEE规范中的一种技术,所以作为一个Java程序猿来说掌握这套API是必须的。

一:什么是DOM?

Document Object Model(文档对象模型),它是W3C 组织推荐的处理 XML 的一种方式。

DOM模型定义访问和操作XML文档的标准方法。(即定义一种访问XML文档一种规范)

下面来看一份XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<!--将DTD文件编写在XML文档内部-->
<!DOCTYPE bookstore [
  <!ELEMENT bookstore (book)+>
  <!ELEMENT book (title,author,year,price)>
  <!ELEMENT title (#PCDATA)>
  <!ELEMENT author (#PCDATA)>
  <!ELEMENT year (#PCDATA)>
  <!ELEMENT price (#PCDATA)>
  <!ATTLIST book category CDATA #REQUIRED>
  <!ATTLIST title lang CDATA #REQUIRED>
]>

<bookstore>
  <book category="操作系统">
    <title lang="中文">鸟哥的私房菜</title>
    <author>鸟哥</author>
    <year>2005</year>
    <price>89.5</price>
    </book>
</bookstore>

这是一份有效(格式良好,且有DTD约束)的XML文档。

当我们使用DOM方式去解析该XML文档的时候,XML文档会在内存中形成一个树形结构,而XML 文档中的每个成分都是一个节点。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索xml
, 文档
, dom
, 模型
, 一个
, 方式
, dom解析xml
, xml解析方式
DOM模型
jaxp解析xml、jaxp解析xml好处缺点、dom解析xml、java dom解析xml、dom解析xml实例,以便于您获取更多的相关知识。

时间: 2024-11-18 17:21:33

基于DOM模型的JAXP解析XML的相关文章

wsdl4j.jar如何解析基于DOM模型的WSDL文件

问题描述 wsdl4j.jar如何解析基于DOM模型的WSDL文件?请指点.注:wsdl4j.jar可以有效解析基于rpc模型的WSDL文件,但是无法解析基于dom模型的WSDL文件,拿不到message的具体参数信息.

JAXP解析XML碰到的小问题

问题描述 用JAXP解析XML时factory.setValidating(true);这行代码敲上报警告,不敲没问题,为什么,这是打开什么验证?packagecn.itcast.day003;importjavax.xml.parsers.*;importorg.w3c.dom.Document;importorg.xml.sax.ErrorHandler;importorg.xml.sax.SAXException;importorg.xml.sax.SAXParseException;im

利用MSXML解析XML文本

xml   一.引言 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   当前Web上流行的脚本语言是以HTML为主的语言结构,HTML是一种标记语言,而不是一种编程语言,主要的标记是针对显示,而不是针对文档内容本身结构的描述的.也就是说,机器本身是不能够解析它的内容的,所以就出现了XML语言. XML(eXtensibleMarkup Language)语言是SGML

JSP基于dom解析xml实例详解_JSP编程

本文实例讲述了JSP基于dom解析xml的方法.分享给大家供大家参考,具体如下: 初次学习用dom操作xml文件,有很多不足之处,牛人多给点建议,练习时我没对中文做乱码处理,也没做验证哦!O(∩_∩)O~ 实体类:User public class User { private String name; private String pwd; private String email; public String getName() { return name; } public void se

[Java开发之路](10)DOM解析XML文档

对象序列化的一个重要限制是它只是Java的解决方案:只有Java程序才能反序列化这种对象.一种更具操作性的解决方案是将数据转化为XML格式,这可以使其被各种各样的平台和语言使用. 1. 简介 DOM 是用与平台和语言无关的方式表示XML文档的官方 W3C 标准.DOM 是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构, 然后才能做任何工作. 由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的.DOM 以

java中用dom解析xml的经典入门级文档

dom|xml 一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM.Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器.JAXP接口包含了三个包:(1)org.w3c.dom W3C推荐的用于XML标准规划文档对象模型

访问XML数据的三中基于树模型||基于游标||流式API比较

xml|比较|访问|数据|游标 无处不在的 XML 除了可以表示结构化和半结构化的数据之外,XML 还有许多其他特性,使其成为一种被广泛采用的数据表示格式.XML 是可扩展的,与平台无关的,并且由于其完全采用 Unicode 而支持国际化.XML 是基于文本的格式,因此,用户可以根据需要使用标准的文本编辑工具读取和编辑 XML 文档. XML 的可扩展性表现在多个方面.首先,与 HTML 不同,XML 没有固定的词汇表.相反,用户可以使用 XML 定义特定的应用程序或行业专用的词汇表.其次,与使

dom-Java使用DOM方式解析XML,返回的Document对象为null

问题描述 Java使用DOM方式解析XML,返回的Document对象为null // 1.创建一个DocumentBuilderFactory DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); System.out.println("dbf:"+dbf); // 2.创建DocumentBuilder try { DocumentBuilder db = dbf.newDocumentBuilder(

DOM解析XML,根节点标签内容判断

问题描述 xml文件如下:<?xml version="1.0" encoding="GB2312"?><学生花名册> <学生 性别 = "男"> <姓名>gray</姓名> <年龄>14</年龄> <电话>1234567</电话> </学生></学生花名册>我想实现的是,判断根节点的内容是否为 "学生花名