Tôi gặp sự cố khi phân tích cú pháp XML của mình, tôi đã thử nhiều thứ.Tôi có thể phân tích cú pháp XML android bằng cách nào?
Tôi có xml như thế này.
<question id="1" text="Zodiac Sign" >
<option id="1" >Aries</option>
<option id="2" >Taurus</option>
<option id="3" >Gemini</option>
<option id="4" >Cancer</option>
<option id="5" >Leo</option>
<option id="6" >Virgo</option>
<option id="7" >Libra</option>
<option id="8" >Scarpio</option>
<option id="9" >Sagitarius</option>
<option id="10" >Capricorn</option>
<option id="11" >Acqauarius</option>
</question><question id="2" text="Home Town" >
</question><question id="3" text="Current Locaion" >
</question><question id="4" text="Nationality" ></question>
<question id="5" text="Height" ></question>
<question id="6" text="Build(optional)" >
<option id="13" >Slim</option>
<option id="14" >Athletic</option>
<option id="15" >Few Pounds Extra</option>
<option id="16" >Obese</option>
</question><question id="7" text="Hair Color" >
</question><question id="8" text="Color Of Eyes" >
<option id="23" >Black</option>
<option id="24" >Brown</option>
<option id="25" >Blue</option>
</question><question id="9" text="Smoking Habits" >
</question>
Tôi cần nhận câu hỏi và tôi muốn lưu chúng trong một mảng và sau đó có một số câu hỏi có tùy chọn như thẻ con, tôi muốn thêm các tùy chọn đó vào một mảng khác với tham chiếu đến id câu hỏi đó .
Làm cách nào để phân tích cú pháp xml này?
Tôi đã cố gắng để làm điều này bằng XMLPullParser
Đây là mã của tôi, nhưng nó không làm việc.
StringBuilder sb = new StringBuilder();
int depth = 1;
while (depth != 0) {
switch (parser.next()) {
case XmlPullParser.END_TAG:
depth--;
if (depth > 0) {
sb.append("</" + parser.getName() + ">");
}
break;
case XmlPullParser.START_TAG:
depth++;
StringBuilder attrs = new StringBuilder();
for (int i = 0; i < parser.getAttributeCount(); i++) {
attrs.append(parser.getAttributeName(i) + "=\""
+ parser.getAttributeValue(i) + "\" ");
}
sb.append("<" + parser.getName() + " " + attrs.toString() + ">");
break;
default:
sb.append(parser.getText());
break;
}
}
payload = sb.toString();
BẠN CÓ THỂ GIÚP TÔI VỚI NÀY http://stackoverflow.com/questions/39391267/how-can-i-identify-same-xml-tag-second- thời gian/39843957 # 39843957 –