获取此示例的节点值的简便方法

时间:2011-06-06 05:09:56

标签: android xml

我有一个示例XML(Android平台),我想知道获取节点“e”的节点值的最简单,最有效的方法。请帮忙。

<a>
<b>
<c>
<e>data</e>

</c>
</b>
<b>

</b>

</a>

3 个答案:

答案 0 :(得分:1)

使用XPath。

请参阅 - http://developer.android.com/reference/javax/xml/xpath/package-summary.html

获取正确元素的XPath表达式为:

/a/b/c/e

您可以将结果节点合并为String以获取文本值。

答案 1 :(得分:1)

我认为以下代码可以帮助您提取“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 "?";
}

答案 2 :(得分:0)

实施Pull Parser,示例如下:http://icodesnip.com/snippet/java/android-pull-parser-sample

因此,根据您的情况,您必须在“e”的开始标记内写入条件。