【文件属性】:
文件名称:在字符串中处理html和xml-python cookbook(第3版)高清中文完整版
文件大小:4.84MB
文件格式:PDF
更新时间:2024-06-29 23:05:55
python cookbook 第3版 高清 中文完整版
2.17 在字符串中处理html和xml
问题
你想将HTML或者XML实体如 &entity; 或 code; 替换为对应的文本。 再者,你需要转
换文本中特定的字符(比如<, >, 或 &)。
解决方案
如果你想替换文本字符串中的 ‘<’ 或者 ‘>’ ,使用 html.escape() 函数可以很容易的完成。
比如:
>>> s = 'Elements are written as "text".'
>>> import html
>>> print(s)
Elements are written as "text".
>>> print(html.escape(s))
Elements are written as "<tag>text</tag>".
>>> # Disable escaping of quotes
>>> print(html.escape(s, quote=False))
Elements are written as "<tag>text</tag>".
>>>
如果你正在处理的是ASCII文本,并且想将非ASCII文本对应的编码实体嵌入进去, 可以
给某些I/O函数传递参数 errors='xmlcharrefreplace' 来达到这个目。比如:
>>> s = 'Spicy Jalapeño'
>>> s.encode('ascii', errors='xmlcharrefreplace')
b'Spicy Jalapeño'
>>>
为了替换文本中的编码实体,你需要使用另外一种方法。 如果你正在处理HTML或者XML
文本,试着先使用一个合适的HTML或者XML解析器。 通常情况下,这些工具会自动替换
这些编码值,你无需担心。
有时候,如果你接收到了一些含有编码值的原始文本,需要手动去做替换, 通常你只需
要使用HTML或者XML解析器的一些相关工具函数/方法即可。比如: