??xml version="1.0" encoding="utf-8" standalone="yes"?>91麻豆精品一区二区三区,国产精品网站入口,theporn国产在线精品http://www.aygfsteel.com/wiser/category/17583.htmlzh-cnTue, 20 Mar 2007 03:42:55 GMTTue, 20 Mar 2007 03:42:55 GMT60Java&XML整合W记(?http://www.aygfsteel.com/wiser/archive/2006/11/22/82834.html英明英明Wed, 22 Nov 2006 09:23:00 GMThttp://www.aygfsteel.com/wiser/archive/2006/11/22/82834.htmlhttp://www.aygfsteel.com/wiser/comments/82834.htmlhttp://www.aygfsteel.com/wiser/archive/2006/11/22/82834.html#Feedback0http://www.aygfsteel.com/wiser/comments/commentRss/82834.htmlhttp://www.aygfsteel.com/wiser/services/trackbacks/82834.htmlhttp://tech.ccidnet.com/art/294/20021120/31320_4.html)


DOM 由W3C 制定Q目标是提供一个可以通用于各U程序语a、操作系l和应用E序的APIQ所以DOM h极高的兼Ҏ(gu),不论CORBA、COM、Java、C++{都可以使用同样的DOM 接口。也因ؓ(f)q种跨^台的需求,DOM 在定义时采用了(jin)CORBA 标准Q因此它可以为各个语a提供完全相同的接口?

DOM 是文档对象模型。XML 数据组lؓ(f)一|(wi)QDOM 是对这|(wi)的一个对象描q。通俗地说Q就是通过解析XML 文档Qؓ(f)XML 文档在逻辑上徏立一个树(wi)模型Q树(wi)的节Ҏ(gu)一个个对象。我们通过存取q些对象p够存取XML 文档的内宏V?

DOM 的基本对象有5个,分别是Document、Node、NodeList、Element ?Attr?

下面举一个通过一个图形界面观察DOM 对象的例子。在Java 的标准包里有JTree 可以来表达树(wi)的概念,l合Java 的窗口JFrame Q完成一个类gIE览器功能的DOM 对象查看器?

DOMTreeView.java 的源E序代码详见http://linux.ccidnet.com的期刊浏览第11期?

2QSAX ~程

SAX(Simple Application interface for XML)是一个ؓ(f)Z事gXML解析器定义的、可以免费获得的、与q_和语a无关的APIQ它允许E序和脚本动态的讉K和更新文档内宏V结构和风格。所以,它作Z个中间g层用来把XML文档中的数据解释成相应的Java事g。SAXq个接口规范是XML分析器和处理器提供的、较XML更底层的接口Q它能提供应用以较大的灵zL。SAX是一U事仉动的接口。它的基本原理是Q由接口的用h供符合定义的处理器,XML分析旉到特定的事gQ就去调用处理器中特定事件的处理函数。一般SAX都是Java的接口,但C++也可以用SAX接口Q只是C++的分析器比较?yu)。SAX需要用h供以下三个处理器cȝ实现Q?

Q?QDocumentHandlerXMLQ文件事件的处理器;

Q?QDTDHandlerQDTD中事件的处理器;

Q?QErrorHandlerQ出错处理器?

下面举一个例子,它实C(jin)许多处理XML 文g旉要事件的ContentHandler 接口Qƈ且说明SAX 是如何分析XML 数据的?

MySAXParser.java 的源E序代码如下(节选部?Q?
//MySAXParser.java
import java.io.IOException;
import java.io.FileInputStream;
import java.util.Properties;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.ErrorHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
/**
 * <code>SAXParser</code>可以从命令行下读入一个XML文gq且使用SAX标准的机制来分析该文件?
 */
public class MySAXParser{
	/**
	 *<p>
	 *我们在q里使用标准的SAX的处理机?handler)来处理XML文g
	 *</p>
	 * @param uri Ʋ分析的XML文g的URI
	 */
	public void parseXML(String uri) {
		try{
			System.out.println("正在分析中的XML文g: " + uri + "\n");
			XMLReader parser =
                		XMLReaderFactory.createXMLReader(
                    		"org.apache.xerces.parsers.SAXParser");
			//XMLReader parser = new SAXParser();
			//注册所设计的内容处理器
			parser.setContentHandler(new MyContentHandler());
			//注册错误处理?
			parser.setErrorHandler(new MyErrorHandler());
			//分析文g
			parser.parse(uri);
		} catch(IOException ioe){
			System.out.println("文gd错误Q?+ioe.getMessage());
		} catch(SAXException saxe){
			System.out.println("XML分析错误Q?"+saxe.getMessage());
		}
	}
	/**
	 *<p>
	 *ȝ序用命令列的参数来指定所要分析的XML文g
	 *</p>
	 */
	public static void main(String[] args) {
		//如果参数数目不对Q则输出使用说明Qƈl束E序
		if( args.length != 1 ){
			System.out.println("误入欲分析的文件名: " +"java example3_1 [XML URI]");
			System.exit(-1);
		}
		String uri = args[0];
		MySAXParser myParser = new MySAXParser();
		myParser.parseXML(uri);
	}
}
/**
 *<code>ContentHandler</code>实做<code>org.xml.sax.
 *ContentHandler</code>界面Qƈ且提供提供相关的回调Ҏ(gu)?
 *所有和XML文g内容有关的分析处理都是在q里解决?
 */
class MyContentHandler implements ContentHandler {
..........
..........


Java ?XML ——JAXP~程应用

在许多方面,Java 语言已变成供XML 选择的一U非帔R合的编E语a。在JAXP(用于XML语法分析的Java API)中包?个Y件包Q?

1. org.w3c.dom —W3C 推荐的用于XML 标准规划文档对象模型的Java 工具;

2. org.xml.sax—用于对XML q行语法分析的事仉动的单API;

3. Javax.xml.parsers —工厂化工具Q允许应用程序开发h员获得ƈ配置Ҏ(gu)的语法分析器工具?

JAXP 作ؓ(f)Java 应用软g和XML 的公共接口,用来保证Sun 、IBM ?Micrsoft {公司的XML 分析E序的完全兼Ҏ(gu)?

JAXP 是由Sun 提供的Java 的标准XML 语言开发接口,目前最高版本ؓ(f)1.1 。JAXP1.1包含两个部分Q一个是parser 部分Q位于Javax.xml.parsers 包中Q负责解析XML 文档Q另一个是transform(TrAX)部分Q位于Java.xml.transform 包中Q负责进行xslt 转换工作?

JAXP1.1 中包?个jar 文gQ分别是JAXP.jar、crimson.jar ?xalan.jar 。JAXP.jar 提供?jin)一pd的界面和抽象c,是开发时使用的接口;crimson.jar 中定义了(jin)实际上用的解析器;xalan.jar 中定义了(jin)transform 处理器?

JAXP1.1 的解析器提供?jin)SAX2 ?DOM2 支持Q同时支持XML1.0 W二版,也支持名I间。JAXP1.1 的TrAX 部分提供?jin)对Xslt 推荐标准1.0 版本的支持?

下面的例子分别是使用JAXP获得 Document Builder 建立一个DOM 对象套式文gQ以?qing)用JAXP获得一?SAX 语法分析器剖析一个XML 文g?

(1)DOMDemo.java 源程序代码详见http://linux.ccidnet.com的期刊浏览第11期?

(2)SAXDemo.java 源程序代码详见http://linux.ccidnet.com的期刊浏览第11期?

有关JAXB ?JDOM 的编E,׃幅有限Q在此就不多说了(jin)?

l合的意?/strong>


1QJava ?XML l合从用户用的应用界面来说QXML 可以用来自定义用L(fng)面。如果将Java 的图形界面Swing 技术应用以XML 的Ş式来讄Q就可以同时发挥Java 的“write one, use many”特性?

2QJava 提供?jin)Servlet ?JSP QJavaServer PageQ?。实际上 XML ?Servlet、JSP 的相互结合,XML 可以成ؓ(f)Servlet或JSP的输?gu)入语a。XML 不仅提供h意义的数据,也提供了(jin)验证的方?DTD)Q得程序能L地获得内容,q能够彻底地完成内容数据和表达方式的分离?

3QXML 通过Java 的JDBC与Web 数据库相l合。以XML为基的新一代环境是直接面对Web数据的,不仅可以很好地兼容原有的Web应用Q而且可以更好地实现Web中的信息׃n与交换。XML可看作ؓ(f)一U半l构化的数据模型Q很Ҏ(gu)地将其文档描qC关系数据库中的属性一一对应hQ实施精地查询与模型抽取。XML能增加结构和语义信息Q计算机和服务器即时处理多UŞ式的信息。因此,q用XML的扩展功能不仅能从Web服务器下载大量的信息Q还能大大减网l业务量?

4QXML ?Java ?EJBQEnterprise Java BeanQ?l合。XML 在EJB 上应用,对于数据的沟通和EJB 的参数设|,使得EJB可以自己所包含的数据依照JSP ?Servlet 要求Q以 XML 的Ş式返回,让JSP ?Servlet 自行d理和昄q些数据有关的工作。一个EJB 可能用到的参C(x)很多Qƈ且很复杂Q如果可以用XML 来定义一个清楚的参数表,q样可以依据不同的需求来修改EJB 操作的方式,让工作更有效率?

5QJava 的JMS、Java/IDL(CORBA)、Java RMI ?qing)SOAP {各U分布式的处理,与XML 的XML-RPC ?SOAP 都具有相似的功能。XML-RPC ?SOAP 都是原本是以二q制形式传递的消息Q用XML 来表达,q样保?jin)所有的应用E序都可以读取这些消息,整个分布式的环境更加开放?img src ="http://www.aygfsteel.com/wiser/aggbug/82834.html" width = "1" height = "1" />

英明 2006-11-22 17:23 发表评论
]]>
Java&XML整合W记(?http://www.aygfsteel.com/wiser/archive/2006/11/22/82833.html英明英明Wed, 22 Nov 2006 09:22:00 GMThttp://www.aygfsteel.com/wiser/archive/2006/11/22/82833.htmlhttp://www.aygfsteel.com/wiser/comments/82833.htmlhttp://www.aygfsteel.com/wiser/archive/2006/11/22/82833.html#Feedback0http://www.aygfsteel.com/wiser/comments/commentRss/82833.htmlhttp://www.aygfsteel.com/wiser/services/trackbacks/82833.html

英明 2006-11-22 17:22 发表评论
]]>
Java&XML整合W记(? http://www.aygfsteel.com/wiser/archive/2006/11/22/82832.html英明英明Wed, 22 Nov 2006 09:21:00 GMThttp://www.aygfsteel.com/wiser/archive/2006/11/22/82832.htmlhttp://www.aygfsteel.com/wiser/comments/82832.htmlhttp://www.aygfsteel.com/wiser/archive/2006/11/22/82832.html#Feedback0http://www.aygfsteel.com/wiser/comments/commentRss/82832.htmlhttp://www.aygfsteel.com/wiser/services/trackbacks/82832.htmlhttp://tech.ccidnet.com/art/294/20021120/31320_2.html)


如果一个XML文档W合上述文档所表现出来的一些特征,卛_UC构的XML文档。这些特征如下:(x)

1. 每个元素必须有v始和l束标记Q?

2. 文档只有一个根元素Q?

3. 正确地对I元素进行格式化Q?

4. 开始和l束标注必须匚w(区分大小?Q?

5. 元素必须正确地嵌套;

6. 属性值必ȝ引号括v来?

IsXMLAvailable.java 是用于进行XML文档良构(g)验的JavaE序Q代码如下:(x)

//IsXMLAvailable.java
import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
public class IsXMLAvailable{
  public static void main(String argv[]){
  if (argv.length!=1){
  System.out.println("参数错误!");
  System.exit(1);
  }
  try{
  //取得工厂cȝ一个新实例
  DocumentBuilderFactory dbf=
         DocumentBuilderFactory.newInstance();
  //通过?rn)态方法创建DocumentBuilder 实例
  //准备建立Document 对象
  DocumentBuilder db=dbf.newDocumentBuilder();
  //建立XML 文档对象
  Document doc=db.parse(new File(argv[0]));
  //格式化文?
  doc.getDocumentElement().normalize();
  System.out.println("XML 文gl构正确!");
  }
  catch(SAXParseException e){
  //错误提示QSystemID 为全路径的文件名
    System.out.println("XML 在第" + 
e.getLineNumber()+"行出错异常,文g信息:"+e.getSystemId());
    System.out.println("\n"+e.getMessage());
  }
  catch(SAXException ex){
  ex.printStackTrace();
  }
  catch(Throwable th){
  th.printStackTrace();
   }
  }
}


q行“java IsXMLAvailable People.xml”命令,如程序出错,则显C第几行有错Qƈl出可能的错误提C;如程序正,则显C?“XML 文gl构正确!?

建立一个有效的XML 文档(DTD)?qing)验证的实?/b>

良好的XML 文档只说明了(jin)其语法正,q没有解册义问题。XML 描述?jin)有一定含义的数据Q其中可以指定包含数据的规则。通过q种指定的规则,可以验证已声明符合规则的XML 文档的有效性,即DTD——文档类型定义?

DTD 可以保应用E序接收C个有效的XML 文档Q然后可以针Ҏ(gu)一cXML 设计出应用程序接口。这L(fng)合某UDTD 的XML 文档都可以被应用E序解析Q也可以用DTD 制定自己的文档规则,而这个规则可被其它应用程序利用。DTD 有两U方法声明XML文gQ?

(1) 外部 DTD 声明如下Q?

<!DOCTYPE peopleinfo SYSTEM "People.dtd">


(2) 内部 DTD 声明(PeopleDTD.xml)如下Q?

<? xml version="1.0" encoding="GB2312"?>
<! DOCTYPE PeopleInfo[
<! ELEMENT PeopleInfo(People+)>
 <!ELEMENT People(Peoplename, PeopleSex,PeopleAge)>
   <! ELEMENT PeopleName(#PCDATA)>
   <! ELEMENT PeopleSex(#PCDATA)>
   <! ELEMENT PeopleAge(#PCDATA)>
  <! ATTLIST People PeopleId CDATA #REQUIRED>
 ]>
<PeopleInfo>
<People PeopleId="YOUR">
   <PeopleName> 古董 </PeopleName>
   <PeopleSex>   ? </PeopleSex>
   <PeopleAge>   23  </PeopleAge>
</People>
<People PeopleId="SHEN">
   <PeopleName> 王冠 </PeopleName>
   <PeopleSex>   ? </PeopleSex>
   <PeopleAge>   25  </PeopleAge> 
 </People>
 </PeopleInfo>


从上面的文g可以看到内嵌的DTD ?ccid_code><! DOCTYPE> 标记中。首先声明的是XML 文档的根元素<PeopleInfo>Q然后指明在<PeopleInfo>根元素中必须包含有一个或是多个的<People>元素(用People+ 表示)。下一句定义了(jin)?ccid_code><People>元素中必d?ccid_code><PeopleName>?lt;PeopleSex>?lt;PeopleAge>3个元素。这3个元素的内容cd?PCDATAQ表C内容ؓ(f)文本cd。然后是对属性的定义Q表CPeopleInfo 必须含有PeopleId 属性?REQUIRED(必须含有)默认的可以省略,CDATA 表示属性值是字符串型?

要检验一个XML 文g是否有效需要在解析XML 文g时检验其是否有效。首先在创徏DocumentBuilder 对象之前Q利用语句设|有效性检验,语句如下Q?

dbf.setValidating(true);//讄对XML 文gq行有效验证


因ؓ(f)SAX 在解析XML 文gӞ遇到不符合DTD规定的地方要触发相应的事Ӟ所以还要在E序中定义实C(jin)事g接口的类。在q里用的是常用的处理事g的静(rn)态内部类Q在此类中必d现的Ҏ(gu)语句如下Q?

public void warning(SAXParseException spe) throws SAXExcepton
public void error(SAXParseException spe) throws SAXExcepton
public void fatalError(SAXParseException spe) throws SAXExcepton


不同U别的错误事件将分别触发q?个方法中的一个?

在IsXMLAvailableDTD.java 中,提供?jin)对XML 文档q行有效性检验的源程序。从中可以看到SAX事g驱动的解析XMLE序的编写方式http:?

英明 2006-11-22 17:21 发表评论
]]>
Java&XML整合W记(一)http://www.aygfsteel.com/wiser/archive/2006/11/22/82828.html英明英明Wed, 22 Nov 2006 09:17:00 GMThttp://www.aygfsteel.com/wiser/archive/2006/11/22/82828.htmlhttp://www.aygfsteel.com/wiser/comments/82828.htmlhttp://www.aygfsteel.com/wiser/archive/2006/11/22/82828.html#Feedback0http://www.aygfsteel.com/wiser/comments/commentRss/82828.htmlhttp://www.aygfsteel.com/wiser/services/trackbacks/82828.htmlhttp://tech.ccidnet.com/art/294/20021120/31320_1.html)

XML(eXtensible Markup LanguageQ可扩展的标记语a)是万l网联盟QW3CQ创建的一l规范,用于在Web上组l、发布各U信息。它不仅可以满q速增长的|络应用的需求,q能够确保网l进行交互操作时h良好的可靠性与互操作性?

XML的语法类似HTMLQ都是用标签来描q数据的。HTML的标{是固定的,我们只能使用Q不能修攏VXML则不同,它没有预先定义好的标{֏以用,而是依据设计上的需要自行定义标{。XML是一个元语言Q根据不同的行业和语义,可以z?gu)许多多的协议和规范。目前的基本协议有XSL、XLink/Xpointer、Xpath、XHTML、Schema{。不同的行业和领域都可以制定自己的XML规范Q用于横向和U向的信息交和数据传输。XML规范有大有小Q大的可以ؓ(f)全世界范围内的商务数据制定格式,像ebXML、Biztalk、eCoQ小的有专门用于?sh)子钱包的ECMLQ有为数学制定的MathMLQ还有ؓ(f)多媒体数据同步的SMILQ像XSL是专门用于显C的Q它制定?jin)许多有昄语义的标{;而XLink是描q文档之间关pȝ语言。像Micrsoft 的CDF(Channel Definition Format)推送频道“PUSH”技术应用、WML(Wireless Market Language)无线商务应用{等都是XML技术的具体应用。XMLl基于Web的应用Y件赋予了(jin)强大的功能和灉|性,因此它给开发者和用户带来?jin)许多好处。利用XML用户可以方便地进行本地计和处理。XML格式的数据发送给客户后,客户可以用应用Y件解析数据ƈҎ(gu)据进行编辑和处理。用者可以用不同的方法处理数据,而不仅仅是显C它。XML文档对象模式(DOM)允许用脚本或其它~程语言处理数据Q数据计不需要回到服务器pq行。XML可以被利用来分离使用者观看数据的界面Q用简单灵zd攄格式Q可以给Web创徏功能强大的应用Y件?

XML核心(j)功能的有关特性和规范如下Q?

1. 格式良好?Well-Formed)XML文档Q?

2. 文档cd定义(DTD)Q?

3. XML使用样式—CSS(Cascading Style SheetQ层叠样式表?和XSL(eXtensible Style LanguageQ可扩展样式语言)Q?

4. 文档对象模型(DOM)—XML~程接口Q?

5. XML 单API(SAX)—XML~程接口Q?

6. XML 命名I间(Namespace)和模?Schema)Q?

7. 链接(XLink)和查询;

8. XPath(XML Path Language) ?XPointer(XML Pointer Language)Q?

9. 转换XML—XSL和XSLT(XSL Transformation)Q?

10. XML 和数据库Q?

11. 用于服务器协议?XML-RPC、SOAP(Simple Object Access ProtocolQ简单对象访问协?和W(xu)DDX(Web Distributed Data ExchangeQ分布式Web 数据交换)?

XML 是一U具有描q数据功能的语言Q它十分适合作ؓ(f)知识表示语言或作为组件及(qing)文g格式的表C方法。它q可以让数据在不同的来源中,Ҏ(gu)通用的语法规则来处理。而Java则是用于Internet、适合于分布式环境、提供了(jin)一个跨q_的语a。XML和Java相结合主要原因是ZXML的语法提供了(jin)一U灵zȝ、标准的、健壮的Java~程Ҏ(gu)Q同ӞJava也将一U普遍的语义集合应用于XML数据。既然Java和XML都是可移植的标准Q这两种技术结合的l果也是可移植的Q可以重用数据和UL行ؓ(f)。单独用XML或Java所能获得的所有潜力还没有被完全掌握,它们结合就走进?jin)一个巨大的、新的国度。将XML应用于Java的两个主要的应用是面向表C的出版业和企业中面向消息的中间件技术?

Java和XML是在Z同客户开发WebE序时Ş成得自然的匹配。从传统的电(sh)话到最新的冰箱Q利用和产生的信息都是在不同的系l^台的服务器上交换。XML和Java的方便性和可g展性它们在新的Web上具有更多的功能Q?

1. l构化—徏立有M复杂层次的数据模型;

2. 可扩展性—根据需要定义新的标志;

3. 验证—检查数据在l构上的正确性;

4. 独立与媒介—以多种方式发布内容Q?

5. 独立于供应商和^台—用标准的商业软gQ甚x(chng)本工具处理Q何符?XML标准)的文档?

上述q些功能使得XML技术被期望l面向网l的应用Q特别是在数据交换领域带来革命性的影响。Java 与XML一起得新一代Web应用成ؓ(f)可能?

Java XML Pack 的由?/strong>


因ؓ(f)XML的信息编码容易阅诅R处理和产生Q所以在许多信息交换中XML是一U首选的技术。Java可以认ؓ(f)是XML的“同事”,因ؓ(f)q两U语a都有相同的历史背?C++?SGML)Q都h单性、方便性和可移植性,q且都l在工业上、学术上开?W3C、JCP)?理所当然Java在服务器和客L(fng)的XMLE序开发上成ؓ(f)一U首选语a?

Java 软gq_Z(jin)建立ZXML的程序已l全面地攉?jin)API核心(j)规范Q具体有6?JDK1.4)。它们分别是JAXP (Java API for XML Processing) 、JAXB (Java Architecture for XML Binding) 、JAXM (Java API for XML Messaging)、JAX-RPC (Java API for XML-based RPC)、JAXR (Java API for XML Registries)、JDOM (Java DOM)。简介如下:(x)

1QJAXP支持使用 DOM?SAX和XSLT处理XML文档。JAXP允许E序分析和{换XML 文档独立于一个特D的 XML 处理q程。根据程序的需要,开发者们可以机动CXML处理机间交换而不用改变程序代码。这PE序和工具开发者们能够快速和Ҏ(gu)地写出可以支持XML的Java应用E序?

JAXP参数的实现包括一个支持SAX和DOM的、高质量的解析器和一个支持XSLT的{换引擎。最新的版本JAXP 1.1允许使用最q的 SAX-2?DOM level 2Q?同样它也包括一个基于TrAX框架 (为XML转换API)的XSLT?而最初的版本JAXP 1.0支持 SAX-1 ?DOM level 1。JAXP 1.1来可当作一个用于JDK 1.1.8和更高^台的、可选择的包Q也许将来还?sh)(x)包括?J2SEQJava 2 Platform Standard EditionQ?1.4和J2EEQJava 2 Platform Enterprise EditionQ?.3 中?

2QJAXB 提供?jin)一个API工具Q它可以自动地在XML文档和Java对象间徏立映。JAXB可以使XML方便使用~译q一个XML计划的一个或多个cR已l生的cL供所有的有关XML解析和格式的l节Q它们能保证在计划中的强制约束有效。在许多事g里,使用一个SAX(Simple API for XML)解析器或执行一个DOM(Document Object Model) API是非常有效的。JAXB 1.0 会(x)成ؓ(f)一个Java 2q_的可选择性的包?

3QJAXM 的可选择包允许程序发送和接收用纯Java API导向XML的文档?JAXM工具的SOAPQSimple Object Access ProtocolQ?1.1?qing)其附g可开发者能集中于ؓ(f)它们的程序徏立、发送、接收和分解信息包,q样׃替了(jin)低层ơ的XML通信E序?

q个版本的JAXM规范包括Messaging Profiles概念。它的目的就是ؓ(f)?jin)徏立一个基Q之可支持一c高层次Z标准的信息协议?一个Profile的例子就是执行ebXML 的传输、\由和打包的信息处理服务,或者基于JAXM 的W3C 的XMLP。因此,Java技术开发者们在用JAXM Ӟ有挂接XML信息的能力?

q些高层ơ的协议常常在基本的ZSOAP信息之外Q实C些额外的功能。这个额外的功能对信息的安全性、可升性及(qing)完整性经常是有用的?

JAXM 1.0 可当作一个可选择的包用于J2SE?

4.JAX-RPC为基于RPC协议的标准XML提供?jin)一个独立传输的API。JAX-RPC 1.0 可当作一个可选择的包用于J2SE。JAX-RPC 来也许?x)包括J2SE发行版或者J2EE。JAX-RPC 最q被 Executive Committee of the Java Community ProcessSM 认可Qƈ且已l徏立v专家l?JAX-RPC 规范?yu)作?JSR-101被用于开?JCP q程?

5.JAXR提供一个统一和标准的 Java API 来传递不同种cȝXML Registries?XML Registries 能够建立、配|和发现Web服务器?

现在的XML Registries规范有ISO 11179、OASIS?eCo Framework?ebXML ?UDDI?JAXR API 允许 Java E序员通过不同的XML Registries使用一个简单、容易用的抽象API。JAXR API的JAXR 信息模式使它方便在XML registries中记录内容和数据?

JDK1.4的JAXR API规范包括在JAXR信息模式同ebXML Registry ?UDDI Registry规范间徏立的l节?

JAXR API 工作在与Java APIs for XML相关的核?j)规范上Q比如说 JAXP、JAXB?JAX-RPC ?JAXM, 以允?Web 服务器包含J2EEq_?

JAXR 1.0 当作一个可选择的包用于J2SEQ将来也怼(x)包括在J2EE中?

6.JDOM是一U面向Java 的读、写和操作XML 文档的API。JDOM 与现行的SAX 和DOM标准兼容Qؓ(f)Java E序员提供了(jin)一个简单、轻量的XML 文档操作Ҏ(gu)。需要指出的是JDOM是专门ؓ(f)Java E序员开发的Q所以采用许多Java 语言的优UҎ(gu),比如Ҏ(gu)重蝲、集?CollectionsQ这是在Java2中出现的数据操作cd)和类映射(Reflection)?

JDOM 是一U用XML 的独特Java 工具包,用于快速开发XML应用E序。它能够替换org.w3c.dom 软g包来有计划地操作XML 文档。实际上JDOM 和DOM 能够q存?

标准?DOM 文g是由文字l点、元素结炏V处理命令结点和其它许多的结点组成的。不q这些结炚w成?jin)一个松散的DOM 对象Q也造成?jin)应用上的困难。由于JDOMh没有层次性的特点Q所以它?yu)XML 文g建立成一个Java 对象Q这U方法让在Java 中用XML 变得非常的容易,同时解决?jin)DOM 应用上的困难。其ơ,JDOM 采用c驱动,不需要像DOM 那样q行工厂化接口配|,所以JDOM 的用是直截?jin)当的。由于用JDOM对象像使用Document、Element ?Attribute q些cȝ直接实例Q所以创Z个新JDOM 对象在Java 语言中就像用new 操作W一样容易?

Java ?XML 的结合应?/strong>


建立一个良?Well-Formed)的XML 文档?qing)验证的实?/b>

对于一个XML文g是否W合Well-Formed 所规定的各XML 基本语法Q必d助XML 分析器来加以(g)查。比较常见的XML 分析器有Xerces、JAXP 和MSXML?

一个XML 文档是有明显特征的。下面是一个XML 文档的实例People.xmlQ代码如下:(x)

<? xml version="1.0" encoding="GB2312"? >
<PeopleInfo>
<People PeopleId="YOUR">
    <PeopleName> 古董 </PeopleName>
    <PeopleSex>   ? </PeopleSex>
    <PeopleAge>   23  </PeopleAge>
</People>
<People PeopleId="SHEN">
    <PeopleName> 王冠 </PeopleName>
    <PeopleSex>   ? </PeopleSex>
    <PeopleAge>   25  </PeopleAge> 
</People>
</PeopleInfo>

 (tng)



英明 2006-11-22 17:17 发表评论
]]>
վ֩ģ壺 | ƽ| | ƽ| ʯ| | ˳| | ɽ| | Ϫ| | | С| | | | | | ½| | ׳| ˾| | | | | | ƽ| | | | º| | | ӳ| ƽ| | ޳| | |