Reputation: 113
I need to parse xml with similar structure,
<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>
I am unable to parse nested tags to get structure like Question Name: Correct Answer: Option One: Option Two: Option Three: Option Four: values i used sax to parse..but unable to retrieve values as like above structure..
Upvotes: 3
Views: 146
Reputation: 247
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
}
Upvotes: 1