java更新xml的四种常用方法简介

java更新xml的四种常用方法简介

ID:14385835

大小:45.50 KB

页数:15页

时间:2018-07-28

java更新xml的四种常用方法简介_第1页
java更新xml的四种常用方法简介_第2页
java更新xml的四种常用方法简介_第3页
java更新xml的四种常用方法简介_第4页
java更新xml的四种常用方法简介_第5页
资源描述:

《java更新xml的四种常用方法简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java更新XML的四种常用方法简介Java更新XML的四种常用方法简介来源:作者:发布时间:2007-12-1918:03:55域名注册域名惊喜价格cn域名1元注册com域名39.9元虚拟主机主机按月支付,低至19元/月超大流量,可开子站点VPS主机特惠VPS168元/月,4-8M独享带宽保证独立操作系统,无限开站点本文简要的讨论了Java语言编程中更新XML文件的四种常用方法,并且分析这四种方法的优劣。其次,本文还对怎么控制Java程式输出的XML文件的格式做了展开论述。  JAXP是JavaAPIforXMLProcessing的英文字头缩写,中文含义是:用于XM

2、L文件处理的使用Java语言编写的编程接口。JAXP支持DOM、SAX、XSLT等标准。为了增强JAXP使用上的灵活性,研发者特别为JAXP设计了一个PluggabilityLayer,在PluggabilityLayer的支持之下,JAXP既能和具体实现DOMAPI、SAXAPI的各种XML解析器(XMLParser,例如ApacheXerces)联合工作,又能和具体执行XSLT标准的XSLT处理器(XSLTProcessor,例如ApacheXalan)联合工作。应用PluggabilityLayer的好处在于:我们只需要熟悉JAXP各个编程接口的定义即可,而不必对

3、所采用的具体的XML解析器、XSLT处理器有非常深入的了解。比如在某个Java程式中,通过JAXP调用XML解析器ApacheCrimson对XML文件进行处理,如果我们希望使用别的XML解析器(比如ApacheXerces),以便提高该程式的性能,那么原程式代码可能不必所有改动,直接就能使用(你所需要做的事情只是将包含ApacheXerces代码的jar文件加入到环境变量CLASSPATH中,而将包含ApacheCrimson代码的jar文件在环境变量CLASSPATH中删除)。  目前JAXP已应用的十分普遍了,能说是Java语言中处理XML文件的标准API。有些初

4、学者在学习使用JAXP的过程中,经常会提出这样的问题:我编写的程式对DOMTree做了更新,不过当程式退出以后,原始的XML文件并没有改动,还是老样子,怎么实现对原始XML文件和DOMTree的同步更新呢?咋一看来,在JAXP中似乎没有提供相应的接口/方法/类,这是非常多初学者都感到困惑的问题。本文的主旨就在于解决这个问题,简单的介绍几种常用的同步更新原始XML文件和DOMTree的方法。为了缩小讨论的范围,本文所涉及的XML解析器仅包括ApacheCrimson和ApacheXerces,而XSLT处理器仅仅使用ApacheXalan。  方法一:直接读写XML文件 

5、 这也许是最笨最原始的办法了。当程式获取DOMTree之后,应用DOM模型的Node接口的各个方法对DOMTree进行更新,下一步应该对原始的XML文件进行更新了。我们能运用递归的办法或是应用TreeWalker类,遍历整个DOMTree,和此同时,将DOMTree的每一个节点/元素依次写入到预先打开的原始XML文件中,当DOMTree被遍历完全之后,DOMTree和原始的XML文件就实现了同步更新。实际中,这个方法极少使用,不过如果你要编程实现自己的XML解析器,这种方法还是有可能用得上的。方法二:使用XmlDocument类  使用XmlDocument类?JAXP

6、中分明没有这个类呀!是不是作者搞错了?没有错!就是使用XmlDocument类,确切的说,是使用XmlDocument类的write()方法。  在上文已提到过,JAXP能和各种各样的XML解析器联合使用,这次我们选用的XML解析器是ApacheCrimson。XmlDocument(org.apache.crimson.tree.XmlDocument)是ApacheCrimson的一个类,并不包含于标准的JAXP中,难怪在JAXP的文件中未找到XmlDocument类的芳踪呢。目前问题出来了,怎么应用XmlDocument类来实现更新XML文件的功能?在XmlDoc

7、ument类中提供了下面三个write()方法(根据Crimson最新的版本------ApacheCrimson1.1.3):publicvoidwrite(OutputStreamout)throwsIOExceptionpublicvoidwrite(Writerout)throwsIOExceptionpublicvoidwrite(Writerout,Stringencoding)throwsIOException  上述三个write()方法的主要作用就是输出DOMTree中的内容到特定的输出介质中,比如文件输出流、应用程式控

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。