无论如何让XOM允许非绝对命名空间?

时间:2013-03-06 17:07:00

标签: java xml sharepoint xom

我有一些来自Microsoft sharepoint网站的XML。开场白是:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
 xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
 xmlns:rs='urn:schemas-microsoft-com:rowset'
 xmlns:z='#RowsetSchema'>

当我尝试使用XOM打开此.xml文件以提取我想要的信息时,它抱怨:

 nu.xom.ParsingException: Missing scheme in absolute URI reference

我认为这是指#RowsetSchema命名空间绑定,这似乎会导致问题。我试过添加

  xmlreader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
  xmlreader.setFeature("http://apache.org/xml/features/validation/schema", false);

到XMLReader我传递给XOM Builder,但它没有帮助。

有没有办法让XOM加载XML并让我提取我想要的数据,或者我是否必须编写自己的XML解析器?

谢谢:)

1 个答案:

答案 0 :(得分:0)

我找到了xom-lite,这是一个Apache2许可的Java库,似乎在没有验证开销的情况下复制了XOM的基本XML处理任务。这似乎解决了这个问题!

如果您知道在XOM中解决问题的方法,那么仍然回答,我会接受。