我正在尝试使用以下代码生成包含标签的 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 实体,但我做不到。
我该如何解决这个编码问题?