使用XML API编写样式表标签(STaX/DOM/..)

问题描述:

我在写一个特定的xml标签时遇到了一些麻烦(使用XmlStreamWriter)。使用XML API编写样式表标签(STaX/DOM/..)

基本上,我们有一个XMLWriter基于“javax.xml.stream.XMLStreamWriter”(STaX),它工作正常。 ? 所有被写入的XML文件与标签自动开始:

< XML版本= “1.0” 编码= “ISO-8859-1”>(加到第一空间,以显示XML线)

我们现在需要的是增加一个新行(样式表)来编写与开头的行的每一个XML文件:??

< XML版本=“1.0”编码=“ISO-8859-1”>(与上面相同) <?xml-stylesheet type =“text/xsl”href =“myXsl.xsl”?>(同上)

我试图用硬编码的方式使用XmlStreamWriter.writeCharacters(String),但问题是“<”和“>”是特殊字符,所以xml文件中的输出是“<”/“>” 。

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

以同样的方式,STAX写入使用“XMLStreamWriter.writeStartDocument(字符串编码字符串版本)”的第一行,没有人知道一个XML(XSL/XSLT)API,它编写器编写标记:?

< xml样式表型= “文本/ XSL” HREF = “myXsl.xsl”>(同上)

任何帮助将是多少?赞赏:)

它被称为processing instruction。例如

参见XMLStreamWriter.writeProcessingInstruction

你的情况:(未测试)

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

+0

太好了!这是我正在寻找的解决方案谢谢:) – 2014-11-25 11:00:46