好吧,我有一个带有属性的xml文件,让我们说:
<Chapter ChapterID="1" ChapterName="الفاتحة">
<Verse VerseID="1"><![CDATA[بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ]]></Verse>
<Verse VerseID="2"><![CDATA[الْحَمْدُ لِلَّهِ رَبِّ الْعَالَمِينَ]]></Verse>
<Verse VerseID="3"><![CDATA[الرَّحْمَٰنِ الرَّحِيمِ]]></Verse>
<Verse VerseID="4"><![CDATA[مَالِكِ يَوْمِ الدِّينِ]]></Verse>
<Verse VerseID="5"><![CDATA[إِيَّاكَ نَعْبُدُ وَإِيَّاكَ نَسْتَعِينُ]]></Verse>
<Verse VerseID="6"><![CDATA[اهْدِنَا الصِّرَاطَ الْمُسْتَقِيمَ]]></Verse>
<Verse VerseID="7"><![CDATA[صِرَاطَ الَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ الْمَغْضُوبِ عَلَيْهِمْ وَلَا الضَّالِّينَ]]></Verse>
</Chapter>
我使用minidom如下(quran.xml是上面的xml文件):
from xml.dom import minidom
quran = minidom.parse(quran.xml)
好吧,我如何使用其ChapterID解析第一章标签,并摆脱[CDATA]。非常感谢你。
答案 0 :(得分:0)
要访问第一章的名称,您可以执行以下操作:
chapter_number = 1
chapters = quran.getElementsByTagName('Chapter')
for chapter in chapters:
if chapter.attributes['ChapterID'].value == str(chapter_number):
print(chapter.attributes['ChapterName'].value)
要访问verses
中的chapter
,请添加:
for verse in chapter.getElementsByTagName('Verse'):
print(verse.attributes['VerseID'].value)
print(verse.childNodes[0].data)