[英]XML parsing with DOM
我正在從SDcard解析xml文件,並在textview中顯示它。 每當我嘗試訪問時,都不會顯示任何內容
InputStream in = new FileInputStream("/sdcard/jokes.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(in);
doc.getDocumentElement().normalize();
NodeList nodeLst = doc.getElementsByTagName("jokes");
for (int s = 0; s < nodeLst.getLength(); s++) {
Node fstNode = nodeLst.item(s);
System.out.println("" + fstNode);
if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
Element fstElmnt = (Element) fstNode;
NodeList fstNmElmntLst = (NodeList) fstElmnt.getChild("item");
Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
NodeList fstNm = ((Node) fstNmElmnt).getChildNodes();
System.out.println("Number of joke description : "+ ((Node) fstNm.item(0)).getNodeValue());
}
}
這是我從sdcard解析xml文件的代碼。 誰能告訴我在哪里出錯了,或者您是否有更好的選擇,請告訴我。
嘗試此循環:
for (int s = 0; s < nodeList.getLength(); s++)
{
Node firstNode = nodeList.item(s);
NodeList nodes = firstNode.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++)
{
Node node = nodes.item(i);
//print node info
}
}
我認為您只是導入了錯誤的類,因為org.w3c.dom.Element中沒有所謂的“ getChild”方法。
請導入“ org.w3c.dom.Element;” 代替“ import android.sax.Element;”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.