2012-04-05 63 views
0

當解析Android中的XML文件,我在做這樣的:XML SAX解析器 - 忽略未綁定的前綴例外

try 
{ 
    InputStream is = ... 
    MyContentHandler ch = new MyContentHandler(); 
    Xml.parse(is, Encoding.UTF_8, ch); 
} 
catch ... 

的問題是,有時我試圖解析該文件不是良好形成。 就我而言,未聲明的命名空間可能存在。

我感興趣的數據不在這些標籤內,所以我可以簡單地忽略它,但是我得到了一個未綁定前綴的異常,它不在內容處理程序中,而是在解析器本身中;這意味着如果發生異常,整個解析過程就會中斷。

有沒有使用薩克斯分析器忽略這種錯誤(或名稱空間)的方法?

p.s.我想避免將所有文件作爲一個字符串加載到內存中,並將其命名空間除去,或者不得不重寫該文件。

回答

1

我在另一個線程中找到了解決方案。

不需要使用Xml.parse,而需要通過SAXParserFactory手動實例化sax解析器並獲取讀取器。

然後您可以設置閱讀器功能。

在可用的功能之一,禁用命名空間,並做到這一點。

參考 - >LINK

相關問題