有没有办法在Java中使用单个实现来读取/解析具有普通元素的XML文件和另一个带有前缀元素的XML文件?两个版本都具有相同的结构。
即。
XML-1
<root>
<element attribute="value">
</element>
</root>
XML-2
<pre:root xmlns:pre="someURL">
<pre:element attribute="value">
</pre:element>
</pre:root>
答案 0 :(得分:1)
使用DOM,调用以下内容:
DocumentBuilderFactory.setNamespaceAware(true);
然后在搜索标签时使用通配符:
Document.getElementsByTagNameNS("*","elementName");
答案 1 :(得分:0)
这应该是可能的。使用DOM / SAX / StAX进行解析时,您需要考虑以下事实:有时非限定元素名称将与解析器认为的“限定名称”相对应,有时它将对应于“本地名称”。
链接到与执行XPath语句相关的类似问题: