Я пытаюсь с помощью следующего кода создать файл XML, содержащий теги </documents>
.
string = "dasdd Wonder asdf new single, “Tomorrow” #URL# | " \
"oiojk asfddsf releases new asdfdf, “gfsg” | " \
"Identity of asfqw who dasd off asdfsdf Mainland jtyjyjui revealed #URL#"
from yattag import Doc, indent
import html, re
doc, tag, text = Doc().tagtext()
with tag('author', lang='en'):
with tag('documents'):
for tweet in string.split(' | '):
with tag('document'):
tweet = html.unescape(tweet)
text('<![CDATA[{}]]'.format(tweet))
result = indent(doc.getvalue(), indentation=' ' * 4, newline='\n')
with open('test.xml', 'w', encoding='utf-8') as f:
f.write(result)
Я хотел добавить токен CDATA
вокруг текста, но когда я открываю сгенерированный файл с использованием Notepad++
вместо вывода в виде:
<document><![CDATA[oiojk asfddsf releases new asdfdf, “gfsg”]]></document>
выглядит так (с HTML сущностями):
<document><![CDATA[oiojk asfddsf releases new asdfdf, “gfsg”]]</document>
Я пытался использовать библиотеку HTML
(html.unescape
строка), чтобы удалить HTML сущностей, но я не смог.
Как я могу решить эту проблему кодирования?