用jdom创建xml,如何设置standalone =“ no”属性
当我创建一个jdom文档(Document doc = new Document();)时,默认情况下,我仅在xml标头中看到版本和编码:
<?xml version="1.0" encoding="utf-8" ?>
如何添加独立属性以获取:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
回答:
通常,在文档到达JDOM之前,XMLParser会剥离Header。我很确定您的意思是您正在查看JDOM 的 ,该
又添加了XML声明。
您可以通过创建自定义XMLOutput处理器来调整XML声明的处理方式……使用此自定义类,覆盖printDeclaration方法并更改它以执行您需要的操作。
public static final XMLOutputProcessor XMLOUTPUT = new AbstractXMLOutputProcessor() { @Override
protected void printDeclaration(final Writer out, final FormatStack fstack) throws IOException {
write(out, "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?> ");
write(out, fstack.getLineSeparator());
}
};
然后,当您想使用它时,将其传递给XMLOutputter,如下所示:
XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat(), XMLOUTPUT);xout.output(doc, System.out);
显然,执行此操作的机制非常麻烦。我将研究存在哪些替代方案,也许会在将来的版本中进行修复。
以上是 用jdom创建xml,如何设置standalone =“ no”属性 的全部内容, 来源链接: utcz.com/qa/410328.html