Android 正在分析XML以尝试获取下一个子节点
我试图从Android应用程序中的Android 正在分析XML以尝试获取下一个子节点,android,xml,Android,Xml,我试图从Android应用程序中的XML文件中获取以下数据 <studentenhuizen version="1.0" timestamp="1399460687"> <studentenhuizen> <adres>Aalbeeksesteenweg</adres> <huisnr>19</huisnr> <gemeente>KORTRIJK</gemeente> <aantal_kamer
XML文件中获取以下数据
<studentenhuizen version="1.0" timestamp="1399460687">
<studentenhuizen>
<adres>Aalbeeksesteenweg</adres>
<huisnr>19</huisnr>
<gemeente>KORTRIJK</gemeente>
<aantal_kamers>14</aantal_kamers>
</studentenhuizen>
</studentenhuizen>
注意:当我询问huizen.size()时,我确实得到了所有199个结果代码>但很明显它们是空的,因为我不知道如何获取Adres,HUISR,…那么你可以添加一个新方法,类似这样:
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);
}
首先,您遇到了一个问题,因为两个不同的元素具有相同的标记名;将给我节点名“adres”,知道如何获得该值吗?结果是空的,即使当我做` next=parser.next();if(name.equals(“adres”){Log.d(“TEST”,“It worked”);}`
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);
}
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);
}