闪电龟龟--笔记

万物寻其根,通其堵,便能解其困。
随笔 - 169, 文章 - 0, 评论 - 1, 阅读 - 79596
  博客园  :: 新随笔  :: 管理

xml.sax 笔记

Posted on   闪电龟龟  阅读(461)  评论(0编辑  收藏  举报
复制代码
from xml.sax import saxutils
html_str = """<!DOCTYPE html>
<html>
<head>
  <title>name</title>
</head>
<body>
<h1>namejr</h1>
<p>my name is namejr</p>
<span>my age is <b>22</b> years old</span>
<p>other string, such as "*", "@"</p>
</body>
</html>"""

# xml.sax.saxutils.escape(data[, entities={}])将html代码进行转义

# xml.sax.saxutils.escape(data)  # 按照规定的进行转义,转义的内容:"<"/">"/"&" 对应"&lt;"/"&gt;"/"&amp;"
print(saxutils.escape(html_str))
"""
D:\笔记\python电子书\Python3>python index.py
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;name&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;namejr&lt;/h1&gt;
&lt;p&gt;my name is namejr&lt;/p&gt;
&lt;span&gt;my age is &lt;b&gt;22&lt;/b&gt; years old&lt;/span&gt;
&lt;p&gt;other string, such as "*", "@"&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
"""

# 如果想转义自己定义的字符就要使用到entities参数
entities = {'*':'不知道写啥', '@':'更不知道写啥'}
print(saxutils.escape(html_str, entities=entities))
"""
D:\笔记\python电子书\Python3>python index.py
&lt;!DOCTYPE html&gt;
...
&lt;span&gt;my age is &lt;b&gt;22&lt;/b&gt; years old&lt;/span&gt;
&lt;p&gt;other string, such as "不知道写啥", "更不知道写啥"&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
"""
# xml.sax.saxutils.unescape()  # 与xml.sax.saxutils.escape()相反
复制代码

 

xml.sax.saxutils.quoteattr()

from xml.sax import saxutils
# xml.sax.saxutils.quoteattr() 与escape()相似,区别是quoteattr()将根据数据的内容选择引号,试图避免对字符串中的任何引号进行编码(只使用一种引号不编码,如果单双引号都在使用,会对双引号进行编码)
html_str = "<element attr={}>".format(saxutils.quoteattr("ab' cd\"ef"))
print(html_str)

 

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示