当前位置:51VIP源码软件音乐小游戏下载联盟网络学院网络编程PHP教程 → XML 中的特殊字符

XML 中的特殊字符

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-6-20 2:00:23 我要发布文章
> < 这类字符是XML 标记字符,在 XML 中有特殊的含义。当在 SQL 查询(或 XPath 查询)中指定这些字符时,
必须对它们进行适当的编码(也称为实体编码)。下表列出了这些特殊字符并描述了它们的含义。有关更多信息,请参见
XML 1.0 规范 中的 XML 1.0 规范。

特殊字符

特殊含义

实体编码

>

开始标记。

>

<

结束标记。

<

"

引号。

"

'

撇号。

'

&

"&"符。

&

例如,考察下面的查询:

SELECT  TOP 2 * 
FROM    [Order Details] 
WHERE   UnitPrice < 10 
FOR XML AUTO

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

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:query>
      SELECT top 2 * 
      FROM     [Order Details] 
      WHERE     UnitPrice < 10 
      FOR XML AUTO
  </sql:query>
</ROOT>

URL 编码中的实体编码

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

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:query>
      SELECT top 2 * 
      FROM     [Order Details] 
      WHERE     UnitPrice < 10 
      FOR XML AUTO
  </sql:query>
</ROOT>

在此例中,(为 < 标记字符指定的)实体编码 < 内的 & 字符在 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>