XML 和 Internet 支持特殊字符

转载 2004年08月12日 20:39:00

XML Internet 支持特殊字符<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一些字符在 URL XML 文档中使用时有特殊的含义,因此必须针对这些含义对字符做适当编码以使其生效。

URL 中的特殊字符

URL 上执行的查询中,特殊字符被指定为 %xx,其中 xx 是字符的十六进制值。下表列出了这些特殊字符并描述了它们的含义。有关更多信息,请参见 http://www.faqs.org/rfcs/rfc1738.html 中的 RFC1738 规范。

特殊字符


特殊含义

十六进制值

+

表示空格(在 URL 中不能使用空格)。

%2B

/

分隔目录和子目录。

%<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2F

?

分隔实际的 URL 和参数。

%3F

%

指定特殊字符。

%25

#

表示书签。

%23

&

URL 中指定的参数间的分隔符。

%26

 

例如,考察下面的查询:

SELECT *

FROM Employees

WHERE EmployeeID=?

因为 ? 字符在 URL 中有特殊含义(分隔 URL 和传递的参数),所以在 URL 中指定该查询时,该字符被编码为 %3F

下列 URL 将执行该查询。在 URL 中传递该参数值。有关用 HTTP 执行 SQL 语句的更多信息,请参见使用 HTTP SQL 语句

http://IISServer/nwind?sql=SELECT * FROM Employees WHERE EmployeeID=%3F FOR XML AUTO&root=root&EmployeeID=1

浏览器将 ? 右侧的所有特殊字符(如 + 字符)都进行转义(即,将 ? 右侧的 + 字符转换成 %20)。

XML 中的特殊字符

> < 这类字符是XML 标记字符,在 XML 中有特殊的含义。当在 SQL 查询(或 XPath 查询)中指定这些字符时,必须对它们进行适当的编码(也称为实体编码)。下表列出了这些特殊字符并描述了它们的含义。有关更多信息,请参见 XML 1.0 规范 中的 XML 1.0 规范。

特殊字符

特殊含义

实体编码

>

 

开始标记。

&gt;

<

 

结束标记。

&lt;

"

引号。

&quot;

'

撇号。

&apos;

&

"&"符。

&amp;

 

例如,考察下面的查询:

SELECT  TOP 2 *

FROM    [Order Details]

WHERE   UnitPrice < 10

FOR XML AUTO

因为 < 字符在 XML 中有特殊含义,所以当在某模板(一个 XML 文档)中指定该查询时,必须将该字符编码为 &gt;。以下就是含有该查询的模板:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">

  <sql:query>

      SELECT top 2 *

      FROM     [Order Details]

      WHERE     UnitPrice &lt; 10

      FOR XML AUTO

  </sql:query>

</ROOT>

有关模板的更多信息,请参见使用模板执行 SQL 查询使用模板执行 XPath 查询

URL 编码中的实体编码

有时可能需要同时指定 URL 编码与实体编码。例如,可在 URL 中直接指定以下模板(而不是指定文件名):

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">

  <sql:query>

      SELECT top 2 *

      FROM     [Order Details]

      WHERE     UnitPrice &lt; 10

      FOR XML AUTO

  </sql:query>

</ROOT>

在此例中,(为 < 标记字符指定的)实体编码 &lt; 内的 & 字符在 URL 中有特殊含义,需要对其进行进一步编码。必须将 & 字符编码为 %26,否则在 URL 中将把它视为参数分隔符。该 URL 于是被指定为:

http://IISServer/nwind?template=<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"><sql:query>SELECT TOP 2 * FROM [Order Details] WHERE UnitPrice %26lt; 10 FOR XML AUTO</sql:query></ROOT>

请参见

使用 HTTP 访问 SQL Server

使用 FOR XML 检索 XML 文档

使用用于 SQL Server IIS 虚拟目录管理实用工具

 

 

XML中特殊字符的处理方式

项目中需要解析XML,发现前台
  • u011262156
  • u011262156
  • 2014年11月24日 13:42
  • 2536

java xml 特殊字符处理(dom4j)

XML中共有5个特殊的字符,分别是:&特殊标签,将包含特殊字符的字符串封装起来;其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列在表4-2中说明:  Spring在进行...
  • dongfengkuayue
  • dongfengkuayue
  • 2015年12月09日 18:40
  • 5252

xml中有特殊字符,导致解析时出错

xml解析异常解决
  • haoshaoxing
  • haoshaoxing
  • 2015年01月29日 17:29
  • 1749

解析XML特殊字符方法

  • 2011年11月17日 21:58
  • 2KB
  • 下载

xml中的特殊字符替换

  • 2009年12月16日 11:00
  • 712B
  • 下载

jieba分词支持关键词带空格和特殊字符

  • 2017年02月21日 16:24
  • 19KB
  • 下载

短信内容分解实例,支持10~14位动态数字单号,支持全角内容短信,可过滤特殊字符

  • 2009年08月20日 09:07
  • 41KB
  • 下载

EasyPlayerPro-Win 解决xml配置文件中特殊字符读取异常

EasyPlayerPro-Win 解决xml配置文件中特殊字符读取异常问题反馈今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊…按照客户的说法, 是将url地址保存在配置文件中,然...
  • gavin1010
  • gavin1010
  • 2017年12月25日 19:47
  • 52

XML特殊字符和空格 换行 转义符

XML特殊字符和空格 换行 转义符 标签: xmlwhitespacestringtextbox 2012-06-25 15:37 38006人阅读 评论(0) 收藏 举报...
  • aasmfox
  • aasmfox
  • 2016年04月21日 15:32
  • 653

XML:简介、应用、文档声明、元素定义、属性定义、注释、特殊字符、CDATA、PI指令

  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2015年12月21日 15:44
  • 201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML 和 Internet 支持特殊字符
举报原因:
原因补充:

(最多只允许输入30个字)