XML解析我有一些解析XML文件在Android的環境... 問題開始我的Android應用程序後,我做了一些測試,JAVA環境下解析XML。ClassCastException異常與Android的
所以,我寫了這個代碼:
private void addMeta(Node n){
String[] fields = {"src", "timestamp", "title", "kind", "ref", "crcData"};
Element e = (Element)n.getChildNodes();
//... more code
}
但是,在Android中使用此當返回我一個ClassCastException。
我一直在尋找時發現了問題,(因爲我能理解)的問題如下:
Android是存在另一種「節點列表」(數據由「n.getChildNodes返回類型( )「。Android獲取的數據類型是:org.apache.harmony.xml.dom.NodeListImpl。
所以,看到這個,我改變了我的代碼,從一個直接轉換到一個執行它的方法。是:
private org.w3c.dom.Element getElements(Node n){
org.w3c.dom.NodeList nl = (org.w3c.dom.NodeList)n.getChildNodes();
return (org.w3c.dom.Element)nl;
}
然後,我改變「Element e =(Element)n.getChildNodes()」由「org.w3c.dom.Element中的E = this.getElements(N)」
但是,內部 「的getElements」 的方法,奇怪的事情發生了......
「NL」 仍getted爲「org.apache .harmony.xml.dom.NodeListImpl「,所以我仍然得到一個ClassCastException。
所以,我可能要得到一個「org.w3c.dom.NodeList」而不是「org.apache ......」節點列表?
感謝你們,爲我的英語不好...對不起:■
請確保您有正確的在你的課堂上進口。 – kosa
我認爲如果我使用限定名稱(org.w3c.dom.Element)不需要進行任何導入...明天我會嘗試添加導入。 – David
我檢查了導入並正確導入了(org.w3c.dom.Element,org.w3c.dom.NodeList ...) – David