2013-10-31 79 views
3

我需要类似的结构解析XML,解析问题嵌套的标签

<document> 
<questions> 
<question_id>1</question_id> 
<cluster_id>1</cluster_id> 
<question_name>question</question_name> 
<question_hint>sample hint</question_hint> 
<question_type>1</question_type> 

<answers> 
<option>answer</option> 
<correct_answer>0</correct_answer> 
<option>answer2</option> 
<option>answer3</option> 
<option>answer4</option> 
</answers> 
</questions> 
<questions> 
<question_id>2</question_id> 
<cluster_id>1</cluster_id> 
<question_name>Question 2</question_name> 
<question_hint>sample hint</question_hint> 
<question_type>1</question_type> 

<answers> 
<option>answer 1 for question 1</option> 
<option>answer 2 for question 1</option> 
<option>answer 2 for question 1</option> 
<option>answer 2 for question 1</option> 
<correct_answer>3</correct_answer> 
</answers> 
</questions></document> 

我无法解析嵌套的标签以获得结构像 问题名称: 正确答案: 方案一: 方案二: 方案三: 选项四:我用萨克斯到parse..but无法检索的值作为像上述结构 值..

回答

1
static final String KEY_ITEM = "questions"; // parent node 
static final String KEY_QUESTION = "question_id"; 
static final String KEY_QUESTIONNAME = "question_name"; 
static final String KEY_QUESTIONHINT = "question_hint"; 

XMLParser parser = new XMLParser(); 
String xml = parser.getXmlFromUrl(URL); // getting XML 
Document doc = parser.getDomElement(xml); // getting DOM element 

NodeList nl = doc.getElementsByTagName(KEY_ITEM); 

// looping through all item nodes <item>  
for (int i = 0; i < nl.getLength(); i++) { 
    String name = parser.getValue(e, KEY_QUESTION); // name child value 
    String cost = parser.getValue(e, KEY_QUESTIONNAME); // cost child value 
    String description = parser.getValue(e, KEY_QUESTIONHINT); // description child value 
}