2011-06-22 12 views
1

解析するparent.childノードを指定する変数を使用しようとしています。以下変数を使用して親ノードを参照してXMLを解析する

は私の現在の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> 

そして、ここでは私の解析コードです。私は私が唯一のGWやBFの子ノードのいずれかを解析し、その項目の値に依存しようとしていた私は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);    
} 

伝えるために変数itemsを使用します。したがって、アイテムが0の場合はGWからデータを取得し、1の場合はBFからデータを取得します。

私はそれはようなものになるだろうと思いますができれば:

NodeList nodes = doc.childNode[ITEMS].getElementsByTagName("result"); 
+0

あなたが行わ取得したいのかを説明してもらえますか? – o12

+0

私は上記の質問を更新しました。明らかでない場合は教えてください。 – Denoteone

答えて

1
Element docElem = doc.getDocumentElement(); 
NodeList nl = docElem.getElementsByTagName("results"); 
Element elem = (Element)nl.item(ITEMS); 
nodes = elem.getElementsByTagName("result"); 
関連する問題