小编use*_*287的帖子

使用xml.dom.minidom时,在xml中转义'<'和'>'

我在使用xml.dom.minidom在xml文件中转义"<"和">"时遇到困难.我试图获取unicode十六进制值并使用它而不是
http://slayeroffice.com/tools/unicode_lookup/

试图使用标准"<"和">",但仍然没有成功.

from xml.dom.minidom import Document
doc = Document()
e = doc.createElement("abc")
s1 = '<hello>bhaskar</hello>'
text = doc.createTextNode(s1)
e.appendChild(text)

e.toxml()
'<abc>&lt;hello&gt;bhaskar&lt;/hello&gt;</abc>'
Run Code Online (Sandbox Code Playgroud)

与writexml()相同的结果还尝试通过在toxml()writexml()调用中指定编码'UTF-8','utf-8','utf'但结果相同.

from xml.dom.minidom import Document
doc = Document()
e = doc.createElement("abc")
s1 = u'&lt;hello&gt;bhaskar&lt;/hello&gt;'
text = doc.createTextNode(s1)
e.appendChild(text)

e.toxml()
u'<abc>&amp;lt;hello&amp;gt;bhaskar&amp;lt;/hello&amp;gt;</abc>'
Run Code Online (Sandbox Code Playgroud)

试过其他方法,但结果相同.只有这样才能解决问题

import xml.dom.minidom as md
# XXX Hack to handle '<' and '>'
def wd(writer, data):
    data = data.replace("&lt;", "<").replace("&gt;", ">")
    writer.write(data)

md._write_data = wd
Run Code Online (Sandbox Code Playgroud)

编辑 - 这是代码.

    import xml.dom.minidom as md
    doc = md.Document()

    entity_descr = …
Run Code Online (Sandbox Code Playgroud)

python xml

1
推荐指数
1
解决办法
2242
查看次数

标签 统计

python ×1

xml ×1