0

我在编写特定的 xml 标记(使用 XmlStreamWriter)时遇到了一些麻烦。

基本上,我们有一个基于“javax.xml.stream.XMLStreamWriter”(STaX)的 XMLWriter,它工作正常。所有写入的 xml 文件都自动以 tag 开头:

< ?xml version="1.0" encoding="ISO-8859-1"?> (添加第一个空格以显示 xml 行)

我们现在需要的是添加一个新行(样式表)来编写每个带有开头行的 xml 文件:

< ?xml version="1.0" encoding="ISO-8859-1"?> (同上) < ?xml-stylesheet type="text/xsl" href="myXsl.xsl"?> (同上)

我尝试使用 XmlStreamWriter.writeCharacters(String) 以硬编码方式执行此操作,但问题是“<”和“>”是特殊字符,因此 xml 文件中的输出为“<”/">“。

此外,这不是很干净的编码..

与 STaX 使用“XMLStreamWriter.writeStartDocument(String encoding, String version)”写入第一行的方式相同,有人知道 WRITER 写入标签的 XML (XSL/XSLT?) API:

< ?xml-stylesheet type="text/xsl" href="myXsl.xsl"?> (同上)

任何帮助将非常感激 :)

4

1 回答 1

2

它被称为处理指令

例如,参见XMLStreamWriter.writeProcessingInstruction

在你的情况下:

writer.writeProcessingInstruction("xml-stylesheet",
    "type=\"text/xsl\" href=\"myXsl.xsl\"");

(未测试。)

于 2014-11-25T10:12:53.250 回答