有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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


共 (1) 个答案

  1. # 1 楼答案

    XML版本由XML解析器(SAX)解析和使用。一些解析器支持SAX2API,这允许一些解析器提供扩展的解析信息。如果解析器执行此操作,则XML版本可能可用in the Locator2 implementation getXMLVersion()。JDOM没有这个信息的钩子,所以数据在JDOM中还不可用。这将是一个很好的功能要求

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

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

    或者,您可以扩展XMLOutputProcessor并重写processDelcaration()方法,以实现所需的声明

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