【发布时间】:2015-07-15 15:42:06
【问题描述】:
我按照this 的示例了解如何编写XML。它工作正常,但问题是当我替换这一行时:
TransformerFactory transformerFactory = TransformerFactory.newInstance();
使用我的网络应用程序中使用的转换器:
org.apache.xalan.processor.TransformerFactoryImpl
那么XML 的开头为:
<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
这是问题,因为我无法验证它。 xs:schema 应该在新的一行。有没有我可以用来修复它并仍然使用这个变压器的选项?
【问题讨论】:
-
请解释“问题,因为我无法验证它”。所描述的 XML 完全有效。
-
不是我只发布了 1. 行并且 xs:schema 没有结束标记。这是因为错误:“序言中不允许内容。” .但这不是问题的一部分。我需要它来换行,因为用于格式化。
-
试试这个:
transformer.setOutputProperty(OutputKeys.INDENT,"yes"); -
我试了一下,但1.行仍然没有格式化
-
@hudi 将 xml 声明与其他所有内容放在同一行不应导致任何问题,并且是完全有效的 XML。问题是由其他原因引起的。也许它是你的编码?尝试将其更改为
UTF-16或寻找使用不同变压器可能存在问题的其他区域。