Простой способ получить значение узла в этом примере

1

У меня есть образец XML (платформа Android), и я хотел узнать самый простой и эффективный подход, чтобы получить значение node node "e". Пожалуйста, помогите.

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

</c>
</b>
<b>

</b>

</a>
Теги:

3 ответа

1
Лучший ответ

Использовать XPath.

Смотрите - http://developer.android.com/reference/javax/xml/xpath/package-summary.html

Выражение XPath для захвата правильного элемента:

/a/b/c/e

Вы можете объединить полученный результат node в String, чтобы получить текстовое значение.

  • 0
    Спасибо всем за вашу помощь.
1

Я думаю, что следующий код поможет вам извлечь данные из "e" node.

 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 "?";
}
0

Реализовать Pull Parser, здесь приведен пример: http://icodesnip.com/snippet/java/android-pull-parser-sample

Итак, по вашему случаю, вы должны записать условие внутри стартового тега для "e".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню