gpt4 book ai didi

python - 如何转义特殊字符以使用 LXML 编写 XML

转载 作者:行者123 更新时间:2023-11-30 23:38:22 27 4
gpt4 key购买 nike

我有以下包含无效字符的 XML

  <capability_camctrl_privilege>
<descr>Indicate whether to support &#8220;Manage Privilege&#8221;
<dependent>True</dependent>

我通过以下方式读取 XML root = etree.fromstring("%s" % in_xml,
parser=etree.XMLParser(recover=True))

并将我加载的XML保存在字典结构中,

最后我做了一些修改并尝试输出一个新的 XML,

节点 = etree.Element(STRING_WITH_SPECIAL_CHRACRTER)

我收到错误消息 All strings must be XML compatible: Unicode or ASCII, no NULL bytes

我尝试通过导入转义无效字符串

from xml.sax.saxutils import escape
from xml.sax.saxutils import quoteattr

但是它不起作用,有人可以帮我解决这个问题吗?非常感谢!

Python 版本 2.7

最佳答案

这是 lxml 的常见错误消息。解决方案是在将字符串与 lxml 一起使用之前将其转换为 unicode。为此,您需要知道编码,但如果您碰巧不知道编码,则 UTF-8 的猜测通常是正确的。

in_xml_unicode = unicode(in_xml, 'utf-8')
root = etree.fromstring(in_xml_unicode, parser=etree.XMLParser(recover=True))

关于python - 如何转义特殊字符以使用 LXML 编写 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com