Java与XML(一)入门基础介绍

JAXP API--嵌入不同的解释器

SAX解释器+DOM解释器+XSL转换器

javax.xml.parsers中加载XML文档的类:
DocumentBuilder
DocumentBuildrFactory
SAXParser
SAXParserFactory
=====================================
SAX API

SAX的XML解释器:Apache的Xerces或Crimson

处理XML文档的接口:

ContentHandler
EntityResolver
ErroHandler
DTDHandler

DeclHandler
LexicalHandler
======================================
DOM API

两个DOM标准:DOM Level1 DOM Level 2 Core

节点

Node-节点类型接口层次结构的根。
Document-树结构的根
Element-XML元素
Text-元素内的文本
Attr-元素的特性
CDATA Sectionn-CDATA
NodeList-子节点的集合
ProcessingInstruction-指令
Comment-包含注释的信息
DocumentFragment-Document的消减版,用于在树中移动节点
DocumentType-文档类型定义的子集。
Entity-DTD中的实体标记
EntityReference-XML文档中的实体引用
Notation-DTD中的符号标记

从程序中读取X M L文档基本上有三种方式:

1把X M L只当做一个文件读取,然后自己挑选出其中的标签。这是黑客们的方法,我们不推荐这种方式。

你很快会发现处理所有的特殊情况(包括不同的字符编码,例外约定,内部和外部实体,缺省属性等)比想象的困难得多;

你可能不能够正确地处理所有的特殊情况,这样你的程序会接收到一个非常规范的X M L文档,却不能正确地处理它。

要避免这种想法:XML解析器似乎并不昂贵(大多数是免费的)。

2可以用解析器分析文档并在内存里创建对文档内容树状的表达方式:解析器将输出传递给文档对象模型,即DOM。

这样程序可以从树的顶部开始遍历,按照从一个树单元到另一个单元的引用,从而找到需要的信息。

3也可以用解析器读取文档,当解析器发现标签时告知程序它发现的标签。

例如它会告知它何时发现了一个开始标签,何时发现了一些特征数据,以及何时发现了一个结束标签。

这叫做事件驱动接口,因为解析器告知应用程序它遇到的有含义的事件。

如果这正是你需要的那种接口,可以使用SAX。

SAX是只读的

DOM可以从XML原文件中读取文档,也可以创建和修改内存中的文档。相比较而言,SAX是用来读取XML文档而不是书写文档。

可扩展样式语言(XSL,eXtensible Sytlesheet Language)是一种基于XML的语言,它被设计用来转换XML文档到另一种XML文档或转换XML文档为可翻译对象。

原始的XSL语言已经被分割成三种不同的语言:

1转换工具(XSLT)是一种转换XML文档到其他XML文档的语言

2翻译工具(XSLF—可以包括X S LT的使用)

3XML分级命令处理工具(XPath)

XSL有它自已的根,不管是在层叠样式表(CSS)中还是在一种叫DSSSL(文档样式语义和规格语言—读为'deessel')的语言中。

随着它的发展,XSL的样式表现变得更接近于CSS和远离DSSSL

时间: 2024-09-14 13:49:50

Java与XML(一)入门基础介绍的相关文章

XML开发入门基础:查看XML文件

在所有现代浏览器中,可能够查看原始的XML文件. 不要指望XML文件会直接显示为HTML页面. 查看XML文件 开发入门基础:查看XML文件-">查看这个XML文件:note.xml 打开XML文件 -XML文档将显示为代码颜色化的根以及子元素.通过点击元素左侧的加号或减号,可以展开或收起元素的结构.如需查看不带有 + 和 - 符号的源代码,请从浏览器菜单中选择"查看源代码". 注释:在Netscape, Opera 以及Safari 中,仅仅会显示元素文本!要查看原始

XML开发入门基础:XML树结构

XML文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶". 一个XML文档实例 XML使用了简单的具有自我描述性的语法: <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Reminder</h

《Java特种兵》5.1 基础介绍

5.1 基础介绍 5.1.1 线程基础 本节内容介绍给那些还没接触过Java线程的朋友希望能有个感性认识. Java线程英文名是Thread所有的Java程序的运行都是在进程中分配线程来处理的.如果是一个main方法则由一个主线程来处理如果不创建自定义线程那么这个程序就是单线程的.如果是Web应用程序那么就由Web容器分配线程来处理在4.4.1节中介绍了在Tomcat源码中是如何分配线程的. 也许在使用main方法写代码时我们感觉不到多线程的存在在Web程序中也感觉不到多线程和自己编写程序有什么

XML开发入门基础:XML元素

XML文档包含XML元素. 什么是XML元素? XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分. 元素可包含其他元素.文本或者两者的混合物.元素也可以拥有属性. <bookstore> <book category="CHILDREN"> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</y

XML开发入门基础:XML验证

拥有正确语法的XML被称为"形式良好"的XML. 通过某个DTD进行了验证的XML是"合法"的XML. 形式良好的XML文档 一个"形式良好"的XML文档拥有正确的语法. 一个"形式良好"的XML文档会遵守前几章介绍过的XML语法规则: XML文档必须有根元素 XML文档必须有关闭标签 XML标签对大小写敏感 XML元素必须被正确的嵌套 XML属性必须加引号 <?xml version="1.0" e

XML开发入门基础:XML的用途

XML应用于web开发的许多方面,常用于简化数据的存储和共享. XML把数据从HTML分离如果你需要在HTML文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑HTML.通过XML,数据能够存储在独立的XML文件中.这样你就可以专注于使用HTML进行布局和显示,并确保修改底层数据不再需要对HTML进行任何的改变. 通过使用几行JavaScript,你就可以读取一个外部XML文件,然后更新HTML中的数据内容. 您将在稍后的章节学习更多这方面的内容. XML简化数据共享在真实的世界中,计

XML开发入门基础:使用CSS显示XML

通过使用CSS,可为XML文档添加显示信息. 使用CSS显示您的XML? 使用CSS来格式化XML文档是有可能的. 下面的例子就是关于如何使用CSS样式表来格式化某个XML文档: 这是XML文件:CD目录 这是样式表:CSS文件 最后,请查看效果:由CSS文件格式化的CD目录 下面是此XML文件的一个片断. 第二行,<?xml-stylesheet type="text/css" href="cd_catalog.css"?>,把这个XML文件链接到CS

XML开发入门基础:XML属性

XML元素可以在开始标签中包含属性,类似HTML. 属性 (Attribute) 提供关于元素的额外信息. XML属性 从HTML,你会回忆起这个:<img src="computer.gif">."src" 属性提供有关<img>元素的额外信息. 在HTML中(以及在XML中),属性提供有关元素的额外信息: <img src="computer.gif"> <a href="demo.asp&

XML开发入门基础:XML语法规则

XML的语法规则很简单,且很有逻辑.这些规则很容易学习,也很容易使用. 所有XML元素都须有关闭标签 在HTML,经常会看到没有关闭标签的元素: <p>This is a paragraph <p>This is another paragraph 在XML中,省略关闭标签是非法的.所有元素都必须有关闭标签: <p>This is a paragraph</p> <p>This is another paragraph</p> 注释: