It should print in the Arabic language. I have checked the parser is not reading in Arabic. How can I make sure that the parser parses using Unicode?
CodePudding user response:
The code below parse and extract some info from the xml
import xml.etree.ElementTree as ET
xml = '''<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:base="http://example.org" xml:id="example_v1">
<teiHeader>
<fileDesc>
<titleStmt>
<title>test</title>
</titleStmt>
<publicationStmt>
<p>test</p>
</publicationStmt>
<sourceDesc>
<p>test</p>
</sourceDesc>
</fileDesc>
</teiHeader>
<text xml:lang="ar">
<body>
<div type="chapter" n="5" xml:lang="ar">
<div type="section" n="5.179">
<head type="30">
الْقَوْلُ فِي تَأْوِيلِ قَوْلِهِ :
<quote type="quran" n="5:74">أَفَلا يَتُوبُونَ إِلَى اللَّهِ وَيَسْتَغْفِرُونَهُ وَاللَّهُ غَفُورٌ رَحِيمٌ</quote>
</head>
<p n="nothadith" ana="adyan kalam yes">
يقول تعالى ذكره : أفلا يرجع هذان الفريقان
<name role="organization">الكافران</name>
، القائل أحدهما :
<quote type="quran" n="5:72">
إِنَّ اللَّهَ هُوَ
<name role="person">الْمَسِيحُ
ابْنُ مَرْيَمَ</name>
</quote>
، والآخر القائل :
<quote type="quran" n="5:73">إِنَّ اللَّهَ
ثَالِثُ ثَلاثَةٍ</quote>
، عما قالا من ذلك ، و ينيبان مما قالا ونطقا به
من كفرهما ، ويسألان ربهما المغفرة مما قالا :
<quote type="quran" n="5:74">وَاللَّهُ غَفُورٌ</quote>
، لذنوب التائبين من خلقه ، المنيبين إلى
<pb type="turki" n="8:582" />
طاعته بعد معصيتهم ،
<quote type="quran" n="5:34">رَحِيمٌ</quote>
بهم في قبوله توبتَهم ، ومراجعتَهم إلى ما يحب
مما يكره ، فيصفح بذلك من فعلهم عما سلف من إجرامهم قبل ذلك .
</p>
</div>
</div>
</body>
</text>
</TEI>'''
root = ET.fromstring(xml)
for idx,quote in enumerate(root.findall('.//{http://www.tei-c.org/ns/1.0}quote'),1):
print(f'{idx}): {quote.text.strip()}')
output
1): أَفَلا يَتُوبُونَ إِلَى اللَّهِ وَيَسْتَغْفِرُونَهُ وَاللَّهُ غَفُورٌ رَحِيمٌ
2): إِنَّ اللَّهَ هُوَ
3): إِنَّ اللَّهَ
ثَالِثُ ثَلاثَةٍ
4): وَاللَّهُ غَفُورٌ
5): رَحِيمٌ