使用java dom解析器进行XML解析会将xml声明转换为元素

时间:2009-11-13 06:44:46

标签: java xml dom parsing

以下是我需要处理的xml文件,作为我的任务的一部分。

<?xml-stylesheet type="text/xsl" href="people.xsl"?>
<People>
    <Person>
    `...`
    </Person>

    `...` 
</People>

我正在使用“javax.xml.parsers.DocumentBuilderFactory”来创建一个dom解析器。解析后,生成的文档在根目录下没有People,但是有一些root作为xml-stylesheet和People。

看起来可以避免这种情况。

1 个答案:

答案 0 :(得分:1)

<?xml-stylesheet ... ?>不是XML声明。它是一个处理指令(PI),DOM规范说Document节点可能包含零个或多个。

一种方法是对您的应用程序进行编码,以便在Document节点中适当地处理(例如忽略)PI。或者,只需使用Document节点的documentElement属性/ getter直接获取根元素。