2014-05-17 2 views
-1

글쎄, 나는 속성을 가진 xml 파일이의 말을하자python에서 minidom을 사용하여 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> 

을 내가 (quran.xml 위의 XML 파일입니다) 다음과 minidom을 사용 : 잘

from xml.dom import minidom 
quran = minidom.parse(quran.xml) 

, 내가 어떻게 분석 할 수 첫 번째 챕터 태그는 챕터 ID를 사용하고 [CDATA]도 제거합니다. 고맙습니다. 첫 번째 챕터의 이름에 액세스하려면

+0

을 지금까지 시도 무엇입니까? 'quran'의'childNodes'를 보셨습니까? 예를 들어 해본 적이 있습니까? 'quran.getElementsByTagName ("절")'? – jonrsharpe

+0

quran.getElemtsByTagName ("장")을 시도했지만 어떤 장을 필요로하는지 지정할 수 없습니다. ChapterID가 1 인 장을 원한다고 말하십시오. – Hedwig

+0

'장 quran.getElementsByTagName ("Chapter")의 각 chapter에 대해 .attributes [ 'ChapterID']. value' – jonrsharpe

답변

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) 

chapterverses에 액세스하려면를 추가 :

 for verse in chapter.getElementsByTagName('Verse'): 
      print(verse.attributes['VerseID'].value) 
      print(verse.childNodes[0].data) 
+0

잘 작동하지만 childNodes [0]은 무엇을 나타 냅니까? – Hedwig

+0

어느 부분을 이해하지 못합니까? 'childNodes'가 무엇인지 보셨습니까? 파이썬에서 색인 생성을 이해하고 있습니까? – jonrsharpe

+0

chapter.getElementsByTagName ("Verse")의 구절이 작동하는지 확인 하시겠습니까? – Hedwig

관련 문제