程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了由于移至Java 1.7 Xml Document Element不会缩进大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决由于移至Java 1.7 Xml Document Element不会缩进?

开发过程中遇到由于移至Java 1.7 Xml Document Element不会缩进的问题如何解决?下面主要结合日常开发的经验,给出你关于由于移至Java 1.7 Xml Document Element不会缩进的解决方法建议,希望对你解决由于移至Java 1.7 Xml Document Element不会缩进有所启发或帮助;

好 ,

我在Java API中发现了以下内容:

如果指定了DOCTYPE-system属性,则xml输出方法应在第一个元素之前输出文档类型声明。

所以我用了这个属性

 transformer.setoutputProperty(OutputKeys.DOCTYPE_PUBliC, "yes");

它解决了我的问题,而没有更改我的xml声明。

谢谢。

解决方法

@H_696_21@

我正在尝试缩进由Transformer生成的XML。除了第一个节点-
文档元素之外,所有DOM节点都按预期缩进。document元素不是以新行开头,只是在XML声明之后立即进行连接。

当我使用java 1.6或1.5时,当我移至java 1.7时会出现此错误。

我的代码:

ByteArrayOutputStream s = new OutputStreamWriter(out,"utf-8");

TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT,"yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount","4");

transformer.transform(new DOM@R_673_9016@e(doC),new StreamResult(s));

输出:

<?xml version="1.0" encoding="UTF-8"?><a>
       <b>bbbbb</b>
 </a>

有人知道为什么吗?

便说一句,当我添加属性时

transformer.setOutputProperty(OutputKeys.STANDALONE,"yes");

它按预期方式工作,但是xml声明已更改,它现在也@R_49_10058@属性,并且我不想更改xml声明。

大佬总结

以上是大佬教程为你收集整理的由于移至Java 1.7 Xml Document Element不会缩进全部内容,希望文章能够帮你解决由于移至Java 1.7 Xml Document Element不会缩进所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。