Jenefer
Jenefer

Reputation: 113

Parsing issue nested tag with same tag name

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

Answers (1)

Selvam M
Selvam M

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

Related Questions