我有一個示例XML(Android平臺),我想知道最簡單和最有效的方法來獲取節點「e」的節點值。請幫忙。簡單的方法來獲取此示例的節點值
<a>
<b>
<c>
<e>data</e>
</c>
</b>
<b>
</b>
</a>
我有一個示例XML(Android平臺),我想知道最簡單和最有效的方法來獲取節點「e」的節點值。請幫忙。簡單的方法來獲取此示例的節點值
<a>
<b>
<c>
<e>data</e>
</c>
</b>
<b>
</b>
</a>
使用XPath。
見 - http://developer.android.com/reference/javax/xml/xpath/package-summary.html
的XPath表達式來獲取正確的元素是:
/a/b/c/e
你可以合併所產生的節點爲String
得到的文本值。
實行拉式解析器,例如這裏給出:http://icodesnip.com/snippet/java/android-pull-parser-sample
因此,通過你的情況,你必須寫開始標籤內的條件「E」。
我想下面的代碼會幫助你提取「e」節點的數據。
NodeList nodes = doc.getElementsByTagName("b");
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList nodesimg = element.getElementsByTagName("e");
for (int j = 0; j < nodesimg.getLength(); j++) {
Element line = (Element) nodesimg.item(j);
String value=getCharacterDataFromElement(line);
}
}
public static String getCharacterDataFromElement(Element e) {
Node child = e.getFirstChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
return cd.getData();
}
return "?";
}
謝謝大家的幫助。 – Babu 2011-06-08 12:17:18