正在阅读:Java中更新XML文档的常用方法Java中更新XML文档的常用方法

2004-07-22 10:04 出处:CSDN 作者:chensheng913 责任编辑:linjixiong

  这个方法最大的好处在于可以随心所欲的控制DOM Tree中的内容输出到输出介质中的格式,但是光靠TransformerFactory类和Transformer类并不能实现这个功能,还需要依赖OutputKeys类的帮助。 完整的例子请参考下列文件: AddRecord2.java(见附件)、user.xml(见附件)。

  该例子的运行环境为:Windows XP Professional、JDK 1.3.1。为了能够正常编译运行AddRecord2.java这个程序,你需要到网址http://java.sun.com去下载安装JAXP 1.1或者Java XML Pack(Java XML Pack已经内含JAXP了)。

  OutputKeys类

  javax.xml.transform.OutputKeys类和java.util.Properties类配合使用,可以控制JAXP的XSLT引擎(Transformer类)输出XML文档的格式。请看下面的代码片断:


  //首先创建一个TransformerFactory对象,再由此创建Transformer对象。
  TransformerFactory tf=TransformerFactory.newInstance();
  Transformer t=tf.newTransformer ();

  //获取Transformser对象的输出属性,亦即XSLT引擎的缺省输出属性,这是一个
  //java.util.Properties对象。
  Properties properties = t.getOutputProperties();

  //设置新的输出属性:输出字符编码为GB2312,这样可以支持中文字符,XSLT引擎所输出
  //的XML文档如果包含了中文字符,可以正常显示,不会出现所谓的"汉字问题"。
  //请留意OutputKeys类的字符串常数OutputKeys.ENCODING。
  properties.setProperty(OutputKeys.ENCODING,"GB2312");

  /更新XSLT引擎的输出属性。
  t.setOutputProperties(properties);

  //调用XSLT引擎,按照输出属性中的设置,输出DOM Tree中的内容到输出介质中。
  t.transform(DOMSource_Object,StreamResult_Object);

 

  从上面的程序代码,我们不难看出,通过设置XSLT引擎(Transformer类)的输出属性,可以控制DOM Tree中的内容的输出格式,这对于我们定制输出内容是很有帮助的。那么JAXP的XSLT引擎(Transformer类)有那些输出属性可以设置呢? javax.xml.transform.OutputKeys类定义了很多字符串常数,它们都是可以自由设置的输出属性,常用的输出属性如下所示:


  public static final java.lang.String METHOD

 

  可以设为"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

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品