支持引号的 XML 转义字符串的静态 python 方法

2024-04-30

我有一个同时包含 XML 转义字符和非转义字符的字符串,并且我需要它 100% XML 有效,例如:

>>> s = '< &lt;'

我希望这是:

>>> s = '&lt; &lt;'

我已经尝试了多种方法,例如 lxml、cgi 等,但它们都希望输入字符串不包含任何有效的 XML 字符:

>>> import cgi
>>> cgi.escape("< &lt;")
'&lt; &amp;lt;'

or

>>> from xml.sax.saxutils import escape
>>> escape("< &lt;")
'&lt; &amp;lt;'

不是已经有一个标准方法了吗?

一定有人遇到过同样的问题:)


你最好的选择是取消转义,然后重新转义:

>>> from xml.sax.saxutils import escape, unescape
>>> unescape("< &lt;")
'< <'
>>> escape(unescape("< &lt;"))
'&lt; &lt;'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持引号的 XML 转义字符串的静态 python 方法 的相关文章

随机推荐