gpt4 book ai didi

java - 如何使用 org.jdom2 获取文档的 xml 版本?

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:28 27 4
gpt4 key购买 nike

我正在使用 org.jdom2 来解析 xml 文件。我需要知道该文件是否标记为版本 1.1 还是版本 1.0。如何访问 xml 声明?另外,使用 XMLOutputter 写入输出时如何设置版本?

最佳答案

XML 版本由 XML 解析器 (SAX) 解析和使用。一些解析器支持 SAX2 API,这允许一些解析器提供扩展的解析信息。如果解析器执行此操作,则 XML 版本可能可用 in the Locator2 implementation getXMLVersion() 。 JDOM 没有对此信息的 Hook ,因此该数据在 JDOM 中尚不可用。这将提出一个很好的功能请求。

JDOM 还以 XML 1.0 版本输出数据。从 JDOM 的角度来看,1.0 和 1.1 之间的差异很小。最显着的区别是不同支持的字符之间的处理略有不同。

如果您想为输出指定不同的 XML 版本,您可以通过禁用 XMLOutputter 的声明 ( setOmitDeclaration() 来强制声明,然后在输出 XML 之前将声明自己转储到流中。

或者,您可以扩展 XMLOutputProcessor并覆盖 processDelcaration()方法输出你想要的声明。

这些选项都不容易,并且 JDOM 中对 XML 1.1 的支持是有限的。您的里程可能会有所不同,但请让我随时了解您的成功情况,如果您有建议/问题,请在 Github 问题上提交问题:https://github.com/hunterhacker/jdom/issues

关于java - 如何使用 org.jdom2 获取文档的 xml 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24496280/

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