2012-07-12 47 views
0

我有具有如何在android中的xml解析中獲得attibute和值?

<question_choices> 
<question id="499">What do you call a chicken with bad sunburn</question> 
<choices1 id="2231">Burned Chicken</choices1> 
<choices2 id="2230">Fried Chicken</choices2> 
<choices3 id="2232">Dead Chicken</choices3> 
<choices_answer>Fried Chicken</choices_answer> 
</question_choices> 

的格式,我必須得到雙方的ID和parsing.Also過程中的價值我在3個不同的buttons.So設置這些選項,當我點擊這些選擇,我有一個xml文件得到的價值和相應的ID也必須保存。我試圖使用getAttributes(),但我不知道在哪裏以及如何使用。所以它不成功。

final XMLParser parser = new XMLParser(); 
    String xml = parser.getXmlFromUrl(URL); // getting XML 
    Document doc = parser.getDomElement(xml); // getting DOM element 
    final NodeList nl = doc.getElementsByTagName(KEY_QUESTION);   
     // looping through all item nodes <item> 
     for(int j=0;j<nl.getLength();j++) 
     { 
      Element e = (Element) nl.item(j); 
      listnew[j]=parser.getValue(e,KEY_QUEST); 
      options1[j]= parser.getValue(e, KEY_CHOICE1); 
         options2[j]= parser.getValue(e, KEY_CHOICE2); 
         options3[j]= parser.getValue(e, KEY_CHOICE3); 
     } 
     TextView question = (TextView)findViewById(R.id.question); 
     question.setText(listnew[x]); 

     opt1 = (Button)findViewById(R.id.opt1); 
     opt1.setText(options1[x]); 
     opt1.setOnClickListener(myOptionOnClickListener); 

     opt2 = (Button)findViewById(R.id.opt2); 
     opt2.setText(options2[x]); 
     opt2.setOnClickListener(myOptionOnClickListener); 

     opt3 = (Button)findViewById(R.id.opt3); 
     opt3.setText(options3[x]); 
     opt3.setOnClickListener(myOptionOnClickListener); 

     x++; 
    } 

我正在使用DOM解析器進行解析。選項是什麼被點擊必須保存。我應該怎麼做?

+0

見本http://stackoverflow.com/questions/4138754/getting-an-attribute-value-in-xml-element – 2012-07-12 09:55:11

+1

[見本](HTTP:// samir-mangroliya.blogspot.in/p/android-xml-parsing-using-dom-parser.html) – 2012-07-12 09:57:51

+0

我得到的值在xml.I需要得到的ID如499. – neethu 2012-07-12 10:10:23

回答

0

嘗試這種情況:

Document doc = parser.getDomElement(xml); 
String idQuestion = doc.getElementsByTagName("question").item(0) 
         .getAttributes().getNamedItem("id").getNodeValue(); 
String idChoise1 = doc.getElementsByTagName("choices1 ").item(0) 
         .getAttributes().getNamedItem("id").getNodeValue(); 
... 
+0

謝謝..工作... – neethu 2012-07-12 11:06:21

+0

我不能投票給你,因爲我沒有15的信譽。好的 – neethu 2012-07-13 05:24:37

+0

不,接受答案不需要信譽,剔接受我左邊的答案,請在這裏閱讀http:// meta。 stackexchange.com/a/5235 – R4j 2012-07-13 06:06:58