2013-03-06 63 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本身的問題,那麼還是回答,我會接受的。