我试图从Android应用中的XML file
获取以下数据
<studentenhuizen version="1.0" timestamp="1399460687">
<studentenhuizen>
<adres>Aalbeeksesteenweg</adres>
<huisnr>19</huisnr>
<gemeente>KORTRIJK</gemeente>
<aantal_kamers>14</aantal_kamers>
</studentenhuizen>
</studentenhuizen>
加载XML文件的代码
int next = parser.next();
String name = null;
while (next != XmlPullParser.END_DOCUMENT) {
if (next == XmlPullParser.START_TAG) {
name = parser.getName();
if (name.equals("studentenhuizen")) {
//what do I have to here?
Studentenhuis st = new Studentenhuis(adres, huisnr,gemeente, aantalKamers);
huizen.addst
}
next = parser.next();
注意:当我要求huizen.size();
时,我确实获得了所有199个结果,但显然他们已经空了,因为我不知道如何获得Adres,huisnr,...
答案 0 :(得分:1)
那么你可以添加一个新的方法,如下所示:
private Studentenhuis parseStudentenhuis(XmlPullParser parser) throws XmlPullParserException, IOException {
//Declare this variables
adres, huisnr,gemeente, aantalKamers;
while (parser.next() != XmlPullParser.END_TAG) {
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
String name = parser.getName();
if (name.equals("adres")) {
adres = getText();
} else if (name.equals("huisnr")) {
huisnr= getText();
} else if (name.equals("gemeente")) {
....
}
}
return new Studentenhuis(adres, huisnr,gemeente, aantalKamers);
}
答案 1 :(得分:1)
if (name.equals("studentenhuizen")) {
next = parser.next();
if (name.equals("adres")) {
next = parser.next();
String adres = parser.getText();
}
//Similarly for other fields
Studentenhuis st = new Studentenhuis(adres, huisnr,gemeente, aantalKamers);
}