gpt4 book ai didi

java - 使用 jdom 创建 xml,如何设置独立的 ="no"属性

转载 作者:数据小太阳 更新时间:2023-10-29 02:06:28 25 4
gpt4 key购买 nike

当我创建一个 jdom 文档 (Document doc = new Document();) 时,默认情况下我只在 xml header 中看到版本和编码:

<?xml version="1.0" encoding="utf-8" ?>

如何添加独立属性以获取:

<?xml version="1.0" encoding="utf-8" standalone="no" ?>

最佳答案

header 通常在文档到达 JDOM 之前被 XMLParser 剥离。我很确定您的意思是您正在查看来自 JDOM 的输出,它添加了 XML 声明。

您可以通过创建 custom XMLOutput processor 来调整 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);

很明显,这样做的机制相当繁琐。我将研究有哪些替代方案,并可能在未来的版本中解决此问题。

关于java - 使用 jdom 创建 xml,如何设置独立的 ="no"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21170732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com