XML和HTML常用转义字符
XML和HTML常用转义字符
XML和HTML中都有一些特殊的字符,这些字符在XML和HTML中是不能直接使用的,如果必须使用这些字符,应该使用其对应的转义字符。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。
所以不应该像下面那样书写代码:
<message>if salary < 1000 then</message>
为了避免出现这种情况,必须将字符"<" 转换成“<”,如下面这样:
<message>if salary < 1000 then</message>
XML常用转义字符:
字符
转义字符
描述
&
&
和
<
<
小于号
>
>
大于号
"
"
双引号
'
'
单引号
HTML中<, >,&等有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义字符。
HTML常用转义字符:
字符
转义字符
描述
&
&
和
<
<
小于号
>
>
大于号
"
"
双引号
空格
©
©
版权符
®
®
注册符
TM
&trade
商标
说明:转义字符应以“&”开头,以“;”结尾。
需要说明的是:
1. 转义序列各字符间不能有空格;
2. 转义字符应以“&”开头,以“;”结尾
3. 单独的&不被认为是转义开始;
4. 区分大小写。
参考url:
http://bei-jin-520.javaeye.com/blog/360765
http://www.souzl.com/article/2008/1103/article_98.html
相关文档:
如何有一个字符串是这样的形式str = "&bbbLAA";
想得到"L"的话可以这样去实现:
//sDataStr = "&bbbLAA";
//sLeftQuote = ""&bbb";
//sRightQuote = "&AA";
调用这个方法将得到L字段。
function abCutString( sDataStr, sLeftQuote, sRightQuote)
{
var sReturnVal = '';
var nStart ......
双引号:"或"
单引号:'或'(IE实体名无效)
&符号:&或&
<小于:<或<
>大于:>或>
空格: 或 
£英磅:£或£
¥元:¥或¥
¦分隔符:¦或& ......
对于"&# 24038;&# 36793;"这种&#开始的字符,应该为html unicode编码类型,解码方法如下:
s="&# 24038;& # 36793;"
s="左边"
import re
_=re.compile('&#(x)?([0-9a-fA-F]+);')
to_str=lambda s,charset='utf-8':_.sub(lambda result:unichr(int(result.group(2),result.group ......
xml:
<?xml version="1.0" encoding="utf-8" ?>
<library>
<name>首都图书馆</name>
<address>朝阳区华威桥南</address>
<books>
<book>
<id>0000</id>
</book>
< ......
所有 XML 文档中的文本均会被解析器解析。
只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
Parsed Data
XML 解析器通常会解析 XML 文档中所有的文本。
当某个 XML 元素被解析时,其标签之间的文本也会被解析:
<message>此文本也会被解析</message>
解析器之所以这么做是因为 XML 元素可包 ......