简体   繁体   English

使用 XMLStreamWriter 将 standalone=no 字段添加到 XML 声明

[英]Adding standalone=no field to XML declaration using XMLStreamWriter

I'm currently using XMLStreamWriter to parse together an XML document.我目前正在使用 XMLStreamWriter 来解析 XML 文档。 The only parameters that I'm allowed to pass in are "encoding" and "version", but I would like to have "standalone=no" in the declaration, as well.我被允许传入的唯一参数是“编码”和“版本”,但我也希望在声明中包含“standalone=no”。 Here's what my output currently looks like:这是我的输出目前的样子:

<?xml version='1.0' encoding='UTF-8'?>

How can I make something like this?我怎么能做这样的事情?

<?xml version='1.0' encoding='UTF-8' standalone='no'?>

XmlStreamWriter is an interface: it has more than one implementation! XmlStreamWriter是一个接口:它有多个实现!

If you install Saxon (any edition), you can create a Serializer using any of the serialization parameters defined in XSLT (for example standalone=yes), and then you can get an XmlStreamWriter that writes to this Serializer using Serializer.getXmlStreamWriter() :如果您安装 Saxon(任何版本),您可以使用 XSLT 中定义的任何序列化参数创建一个序列化程序(例如 standalone=yes),然后您可以使用Serializer.getXmlStreamWriter()获得一个写入此SerializerXmlStreamWriter

Processor p = new Processor(false);
Serializer s = p.newSerializer(System.out);
s.setOutputProperty(Property.STANDALONE, "no");
XmlStreamWriter writer = s.getXmlStreamWriter();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM