用于解析类似结构化XML文件的单一实现

时间:2010-10-20 01:05:36

标签: java xml xml-namespaces

有没有办法在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>

2 个答案:

答案 0 :(得分:1)

使用DOM,调用以下内容:

DocumentBuilderFactory.setNamespaceAware(true);

然后在搜索标签时使用通配符:

Document.getElementsByTagNameNS("*","elementName");

答案 1 :(得分:0)

这应该是可能的。使用DOM / SAX / StAX进行解析时,您需要考虑以下事实:有时非限定元素名称将与解析器认为的“限定名称”相对应,有时它将对应于“本地名称”。

链接到与执行XPath语句相关的类似问题: