当前位置: 首页 > 面试题库 >

用jdom创建xml,如何设置standalone =“ no”属性

夏令秋
2023-03-14
问题内容

当我创建一个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是一个基于Java的开源库,用于解析XML文档。 它通常是Java开发人员友好的API。 它是Java优化的,它使用像List和Arrays这样的Java集合。 JDOM使用DOM和SAX API,并结合了两者中的最佳功能。 它的内存占用率低,几乎与SAX一样快。 环境设置 (Environment Setup) 要使用JDOM解析器,您应该在应用程序的类路径中使用jdom.jar。 下载

  • 主要内容:Java JDOM解析器 创建XML文档的示例Java JDOM解析器 创建XML文档的示例 编写用于生成XML文档JDOM解析器程序 需要注意的是,该案例只是把生成的XML内容打印在控制台,并没有保存到硬盘(可自行修改) 控制台输入结果为:

  • Routes类只是一个扩展RouteBuilder的空类。 问题是,当我实际调用testCamel方法时,我的生产者是null。我知道我可以在xml配置文件中处理上下文,我只是想知道不使用xml时我做错了什么。

  • 问题内容: 目前,我正在用Java创建XML文件,并通过使用XSL / XSLT进行转换将其显示在JSP页面中。现在,我需要获取该XML文件并在PDF中显示相同的信息。有什么办法可以通过使用某种XSL文件来做到这一点? 我已经看过iText Java-PDF库,但是找不到任何将其用于XML和样式表的方法。 任何帮助将不胜感激。提前致谢! 问题答案: 您可以使用XSL格式对象。这里有一些很好的文章,

  • 我们的结构如下所示: 这几乎等同于说 只是这将允许传入一个空对象,而初始类型需要传入一个属性 如何创建像 这样的泛型,但它的行为类似于上面的结构?

  • 我已经在独立完整版中添加了系统属性标签。xml,但它不能在独立模式下工作。然而,如果我在域中添加相同的标记。xml,它适用于域模式。 根据这篇文章对jBoss的一般配置概念 可以在domain.xml、host.xml和standalone.xml中的许多地方设置系统属性值。 那么standalone-full.xml呢? 我不想通过命令行设置它,甚至不想在 java 代码中设置它。