快速业务通道

Java更新XML的四种常用方法简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
以设为"xml"、"html"、"text"等值。

public static final java.lang.String VERSION

所遵循规范的版本号,如果METHOD设为"xml",那么它的值应该设为"1.0",如果METHOD设为"html",那么它的值应该设为"4.0",如果METHOD设为"text",那么这个输出属性会被忽略。

public static final java.lang.String ENCODING

设置输出时所采用的编码方式,比如"GB2312"、"UTF-8"等等,如果将其设置为"GB2312",可以解决所谓的"汉字问题"。

public static final java.lang.String OMIT_XML_DECLARATION

设置输出到XML文档中时是否忽略XML声明,亦即类似于:

<?xml version="1.0" standalone="yes" encoding="utf-8" ?>

这样的代码。它可选的值有"yes"、"no"。

public static final java.lang.String INDENT

IDENT设定XSLT引擎在输出XML文档时,是否自动添加额外的空格,它可选的值为"yes"、"no"。

public static final java.lang.String MEDIA_TYPE

MEDIA_TYPE设定输出文档的MIME类型。

如果设定XSLT引擎的输出属性呢?下面我们来总结一下:

首先是获取XSLT引擎(Transformer类)的缺省输出属性的集合,这需要使用Transformer类的getOutputProperties()方法,返回值是一个java.util.Properties对象。

Properties properties = transformer.getOutputProperties();

然后是设定新的输出属性,比如:

properties.setProperty(OutputKeys.ENCODING,"GB2312"); properties.setProperty(OutputKeys.METHOD,"html"); properties.setProperty(OutputKeys.VERSION,"4.0"); ………………………………………………………

最后是更新XSLT引擎(Transformer类)的缺省输出属性的集合,这需要使用Transformer类的setOutputProperties()方法,参数是一个java.util.Properties对象。

我们编写了一个新的程序,其中应用了OutputKeys类,用以控制XSLT引擎的输出属性,该程序的架构和前一个程序(AddRecord3.java)大致相同,不过输出结果略有不同。完整的代码请参考下列文件: AddRecord3.java(见附件)、user.xml(见附件)。该例子的运行环境为:Windows XP Professional、JDK 1.3.1。为了能够正常编译运行AddRecord3.java这个程序,你需要到网址http://java.sun.com去下载安装JAXP 1.1或者Java XML Pack(Java XML Pack内含JAXP了)。

Java更新XML的四种常用方法简介(3)

时间:2010-05-21

方法四:使用Xalan XML Serializer

方法四其实是方法三的一个变种,它需要Apache Xalan和Apache Xerces的支持才能够运行。例子代码如下所示:

//首先创建一个DOMSource对象,该构造函数的参数可以是一个Document对象 //doc代表更改后的DOM Tree。 DOMSource domSource = new DOMSource (doc); //创建一个DOMResult对象,临时保存XSLT引擎的输出结果。 DOMResult domResult = new DOMResult(); //下面调用JAXP中的XSLT引擎来实现输出DOM Tree中的数据到XML文件中的功能。 //XSLT引擎的输入为DOMSource对象,输出为DOMResut对象。 try { //首先创建一个TransformerFactory对象,再由此创建Transformer对象。Transformer //类相当于一个XSLT引擎。通常我们使用它来处理XSL文件,但是在这里我们使 //用它来输出XML文档。 TransformerFactory tf=TransformerFactory.newInstance(); Transformer t=tf.newTransformer (); //设置XSLT引擎的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号