【发布时间】:2019-02-21 13:53:38
【问题描述】:
嘿,我刚刚开始在 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>
现在在我的第一堂课中,我只想展示一个列表视图 提到了一个 sura 的名字,我已经成功地使用了这个 代码。
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 个,所以请帮助我使用正确的代码。对不起,我英语不好。帮帮我吧。谢谢:(
【问题讨论】:
标签: android xml-parsing xmlpullparser