用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

回到顶部