嘿,我刚刚开始在android中进行XML解析。我在工作 在具有这样结构的xml上。
<quran>
<sura index="113" name="الفلق">
<aya index="1" text="قُلْ أَعُوذُ بِرَبِّ الْفَلَقِ" bismillah="بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ" />
<aya index="2" text="مِنْ شَرِّ مَا خَلَقَ" />
<aya index="3" text="وَمِنْ شَرِّ غَاسِقٍ إِذَا وَقَبَ" />
<aya index="4" text="وَمِنْ شَرِّ النَّفَّاثَاتِ فِي الْعُقَدِ" />
<aya index="5" text="وَمِنْ شَرِّ حَاسِدٍ إِذَا حَسَدَ" />
</sura>
<sura index="114" name="الناس">
<aya index="1" text="قُلْ أَعُوذُ بِرَبِّ النَّاسِ" bismillah="بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ" />
<aya index="2" text="مَلِكِ النَّاسِ" />
<aya index="3" text="إِلَهِ النَّاسِ" />
<aya index="4" text="مِنْ شَرِّ الْوَسْوَاسِ الْخَنَّاسِ" />
<aya index="5" text="الَّذِي يُوَسْوِسُ فِي صُدُورِ النَّاسِ" />
<aya index="6" text="مِنَ الْجِنَّةِ وَالنَّاسِ" />
</sura>
</quran>
现在在我的第一堂课中,我只想显示一个列表视图,其中 提到了一个苏拉的名字,我已经成功地使用了它 代码。
XmlPullParser parser = getResources().getXml(R.xml.quran_arabic);
while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {
if (parser.getEventType() == XmlPullParser.START_TAG && parser.getName().equals("sura")) {
list.add(parser.getAttributeValue(0) + ".\n" + parser.getAttributeValue(1));
}
parser.next();
}
在我的lisview中,现在仅显示sura的名称,我想显示用户单击的特定sura的aya标签。 在我的下一个活动中,我将使用此代码
XmlPullParser parser = getResources().getXml(R.xml.quran_arabic);
while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {
if (parser.getEventType() == XmlPullParser.START_TAG && parser.getName().equals("aya")) {
list.add(parser.getAttributeValue(0) + ".\n" + parser.getAttributeValue(1));
}
parser.next();
}
但是我得到了所有aya标签属性,而不是特定的sura属性。请帮助我获取用户单击的特定标签上显示的那些aya。我刚刚在xml中发布了2个sura标签,实际上我有114个,所以请帮助我使用正确的代码。对不起,我英语不好。请帮帮我。谢谢:(
答案 0 :(得分:1)
如果要在给定的aya
中获取所有sura
标签,则应编写一个以sura index
作为输入的方法,例如113或114,并返回所有{{1} }标签作为输出。
aya