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)

xml.sax 笔记的更多相关文章

  1. sax方式解析XML学习笔记

    原理:对文档进行顺序扫描,当扫描到文档(document)开始与结束,元素开始与结束.文档结束等地方 通知事件处理函数,由事件处理函数相应动作然后继续同样的扫描,直至文档结束. 优点:消耗资源比较少: ...

  2. day0203 XML 学习笔记

    day02, 03 1. xml语言和作用 2. xml语法详解 2.1 xml 语法声明 2.1.1 encoding 属性 2.1.2 standalone 属性 2.2 xml 元素(Eleme ...

  3. SpringMVC org.xml.sax.SAXParseException: cvc-complex-type.2.4.c 报错处理方式

    使用SpringMVC的过程中需要访问静态文件,即在spring-servlet.xml文件中添加了 <mvc:default-servlet-handler /> 标签,以开启Sprin ...

  4. org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。

    二月 25, 2016 9:24:24 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRul ...

  5. XML学习笔记

    XML学习笔记 第一部分:XML简介 我们经常可以听到XML.HTML.XHTML这些语言,后两者比较清楚,一直不是很明白XML是什么,这里做一个总结. XML(eXtensible Markup L ...

  6. mybatis-config.xml简单笔记

    mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  7. applicationContext.xml简单笔记

    applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...

  8. nested exception is org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 56; cvc-complex-type.2.4.c通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明

    严重: Exception sending context initialized event to listener instance of class org.springframework.we ...

  9. XML学习笔记(2)--dom4j操作XML

    1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析 ...

随机推荐

  1. centos安装htop

    在 Linux 系统中,top 命令用来显示系统中正在运行的进程的实时状态,它显示了一些非常有用的信息,比如 CPU 利用情况.内存消耗情况,以及每个进程情况等.但是,你知道吗?还有另外一个命令行工具 ...

  2. python 正则匹配时间格式转换方法

    import re from datetime import datetime a = '2018年8月9日 10:10' s = re.findall('\d+',a) print(s) d = ' ...

  3. python sub替换方法

    命令:re.sub(pattern, repl, string, count=0, flags=0) re.sub 用于替换字符串的匹配项.如果没有匹配到规则,则原字符串不变. 第一个参数:规则 第二 ...

  4. Day15作业及默写

    1.整理今天内容 PASS 2.现有列表alist = [3,1,-4,2,-6] 按照元素的绝对值大小进行排序 alist = [3,1,-4,2,-6] sorted(alist,key=lamb ...

  5. xargs用法

    xargs是一个很有用的命令,它可以实现并行,同&有异曲同工之妙,在大批量管理服务器时非常有用 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据 ...

  6. 微软Power BI 每月功能更新系列——10月Power BI 新功能学习

    Power BI Desktop10月产品功能摘要 本月Power Plus Desktop的更新充满了整个产品的小型和大型改进.一个巨大的更新是Power BI服务支持我们的复合模型和聚合预览.这实 ...

  7. Excel导入CSV文件中文乱码

    参考: iconv -f UTF8 -t GB18030 a.csv >b.csv 或iconv -f UTF-8 -t GB18030 a.csv >b.csv

  8. memoization

    memoization 是指通过缓存函数返回结果来加速函数调用的一种技术.仅当函数是纯函数 时结果才可以被缓存,也就是说,函数不能有任何副作用或输出,也不能依赖任何全局状态 import math _ ...

  9. [LeetCode&Python] Problem 892. Surface Area of 3D Shapes

    On a N * N grid, we place some 1 * 1 * 1 cubes. Each value v = grid[i][j] represents a tower of v cu ...

  10. 配置Glassfish服务器、部署Java web项目、Maven安装配置及JDK版本匹配性问题

    错误一:在win7上通过命令asadmin start-domain启动Glassfish服务器时报错(如下): Exception in thread "main" java.l ...