Я пытаюсь использовать переменную, которая указывает, какие родительские узлы я обрабатываю.
ниже мой текущий xml:
<results>
<GW>
<result>
<item>Car</item>
<name>Bob</name
</result>
<result>
<item>Bike</item>
<name>Tom</name
</result>
</GW>
<BF>
<result>
<item>Apple</item>
<name>Mike</name
</result>
<result>
<item>Melon</item>
<name>Julia</name
</result>
</BF>
</results>
И вот мой код синтаксического анализа. Я хочу использовать переменные items
чтобы указать, какой узел я должен анализировать GW или BF
//DOC IS ASSIGNED THE XML DATA EARLIER IN THE CODE
Bundle bundle = getIntent().getExtras();
int ITEMS = bundle.getInt("selection");
NodeList nodes = doc.node[ITEMS].getElementsByTagName("result");
for (int i = 0; i < nodes.getLength(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element)nodes.item(i);
map.put("main_content", XMLfunctions.getValue(e, "item"));
map.put("name", XMLfunctions.getValue(e, "name"));
mylist.add(map);
}
Я пытаюсь анализировать только дочерние узлы GW или BF, и это зависит от значения ITEMS. Поэтому, если элементы равны 0, тогда я получаю данные из GW, и если это 1, я получаю данные из BF.
Если бы я мог догадаться, это будет что-то вроде:
NodeList nodes = doc.childNode[ITEMS].getElementsByTagName("result");
Element docElem = doc.getDocumentElement();
NodeList nl = docElem.getElementsByTagName("results");
Element elem = (Element)nl.item(ITEMS);
nodes = elem.getElementsByTagName("result");