Java基础-XML解析
潜水生活
这个作者很懒,什么都没留下…
展开
-
(一) 概述
1.XML和HTML区别(1)与HTML不同,XML是大小写敏感的,例如<H1>和<h1>是不同的XML标签。(2)在XML中结束标签不能省略,而在HTML中如果从上下文可以分清哪里是段落或列表项的结尾,那么结束标签(如</p>、</li>)就可以省略。(3)在XML中,只有一个标签而没有相对应的结束标签的元素必须以/结尾,例如<i...原创 2012-02-09 21:55:53 · 358 阅读 · 0 评论 -
(二) 解析XML文档(parse xml)
Java库提供了两种XML解析器 (1)文档对象模型(Document Object Model, DOM)解析器,树形解析器(tree parser),将读入的XML转换成树形结构。 (2)用于XML的简单API(Simple API for XML,SAX)解析器,流机制解析器(streaming parser),在读入XML文档时生成相应的事件。 1.DOM解析器 当处理大文档时,树结构将...原创 2012-02-09 21:59:20 · 464 阅读 · 0 评论 -
(三) 验证XML文档
XML解析时,通过文档定义类型(DTD)或一个XML Schema定义自动检验某个文档的结构是否正确,减少处理空白字符或错误检查的工作。例如,DTD包含一个规则<!ELEMENT font (name,size)>,表明一个font元素有两个子元素,分别是name和size。XML Schema语言用于表示同样的约束形式如下 <xsd:element na...原创 2012-02-09 22:09:37 · 221 阅读 · 0 评论 -
(四) 使用XPath来定位信息
如果要定位某个XML文档中的一段特定的信息,通过遍历DOM树的众多节点来进行查找显得有些麻烦,XPath语言使得访问树节点变得很容易。1. 例如,有如下XML文档 <configuration> ... <database> <username>dbuser</username> &...原创 2012-02-11 22:39:42 · 193 阅读 · 0 评论 -
(五) 使用命名空间
Java语言使用包来避免名字冲突。程序员可以在不同的类中使用相同的名字,只要它们不在同一个包中即可。XML也有类似的命名空间(namespace)机制,可以用于元素名和属性名。1.命名空间是由统一资源标识符(Uniform Resource Identifier, URI) 来标识的例: http://www.w3.org/2001/XMLSchema uuid:1c7...原创 2012-02-12 01:02:55 · 113 阅读 · 0 评论 -
(六) 流机制解析器
DOM解析器读入的是一个完整的XML文档,然后将其转换成一个树形的数据结构,对于大多数应用,DOM都运行得很好,但是当文档很大,并且处理算法非常简单,可以在运行时解析节点,而不必看到所有的树形结构时,DOM可能会显得效率低下。在这种情况下,我们应该使用 流解析机制(streaming parser)。SAX解析器使用的是事件回调(event callback),而StAX解析器提供了解析事...原创 2012-02-14 21:36:57 · 141 阅读 · 0 评论 -
(七) 涉及API
涉及API类 javax.xml.parsers.DocumentBuilderFactorystatic DocumentBuilderFactory newInstance() : 获取 DocumentBuilderFactory 的新实例。abstract DocumentBuilder newDocumentBuilder() : 使用当前配置的参数创建一个新的 Docum...原创 2012-02-14 21:51:11 · 123 阅读 · 0 评论