2013-03-06 101 views
0

我有一些XML是从Microsoft SharePoint站点。开头几行是:反正让XOM允许非绝对的命名空间?

<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); 

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

有没有办法让XOM只加载XML,让我提取我想要的数据,还是我写我自己的XML解析器?

谢谢:)

回答

0

我发现xom-lite,这是一个Apache2的许可Java库,这似乎复制XOM的基本XML处理任务,而无需验证的开销。这似乎解决了这个问题!

如果你知道一种方法来解决XOM本身的问题,那么还是回答,我会接受的。