URL 或 XML 文档中的特殊字符

11 篇文章 0 订阅
6 篇文章 0 订阅

URL XML 文档中的特殊字符




 

 

特殊字符

  

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

URL 中的特殊字符

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

 

特殊字符


特殊含义

十六进制值

+

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

%2B

/

分隔目录和子目录。

%2F

?

分隔实际的 URL 和参数。

%3F

%

指定特殊字符。

%25

#

表示书签。

%23

&

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

%26

例如,考察下面的查询:

SELECT *
FROM Employees
WHERE EmployeeID=?

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

下列 URL 将执行该查询。在 URL 中传递该参数值。

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>

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>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VB.NET 使用 XmlDocument 导入 XML 文档。 可以使用 XmlDocument 类的 Load 方法来读取 XML 文件并加载到 XmlDocument 对象,例如: ``` Dim xmlDoc As New XmlDocument() xmlDoc.Load("document.xml") ``` 也可以使用 XmlDocument 类的 LoadXml 方法从字符读取 XML 数据,例如: ``` Dim xmlString As String = "<root><element>Data</element></root>" Dim xmlDoc As New XmlDocument() xmlDoc.LoadXml(xmlString) ``` ### 回答2: 在VB.NET使用XmlDocument类需要引入System.Xml命名空间。通过添加Imports语句,可以简化代码并使其更易读。 在VB.NET代码,可以使用以下Imports语句引入System.Xml命名空间: `Imports System.Xml` 引入该命名空间后,就可以创建XmlDocument对象并使用其相关方法和属性来读取、操作和创建XML文档。 例如,可以使用以下代码创建一个新的XmlDocument对象并加载XML文件: ``` Dim doc As New XmlDocument() doc.Load("path/to/your/xml/file.xml") ``` 加载完成后,就可以使用XmlDocument对象的方法和属性来操作XML文档。例如,可以使用SelectSingleNode方法选择XML节点: ``` Dim node As XmlNode = doc.SelectSingleNode("/rootNode/childNode") ``` 还可以使用XmlDocument对象的属性来获取XML节点的值: ``` Dim value As String = node.InnerText ``` 通过引入System.Xml命名空间并使用XmlDocument类,可以更方便地读取、操作和创建XML文档。这样可以减少代码量并提高代码的可读性和易用性。 需要注意的是,在VB.NET引入命名空间使用的是Imports语句,而在C#使用的是using语句。这是因为VB.NET和C#在语法上有所不同。 ### 回答3: VB.NETXmlDocument类是用于处理XML文档的类。要使用XmlDocument类,我们需要在代码导入System.Xml命名空间。这可以通过在代码文件的顶部添加"Imports System.Xml"语句来完成。 导入命名空间后,我们就可以创建XmlDocument对象并开始使用它了。XmlDocument类提供了一系列的方法和属性,用于加载、解析和操作XML文档。例如,我们可以使用Load方法来从本地文件或网络上的URL加载XML文档。一旦加载完成,我们就可以使用XmlDocument的其他方法和属性来访问和修改XML文档的节点和属性。 除了导入System.Xml命名空间和创建XmlDocument对象外,我们还可以使用其他命名空间的类来处理XML文档。例如,我们可以使用System.Xml.Linq命名空间的XDocument类来处理XML文档。XDocument类提供了一种简化的API来处理XML文档,它使用LINQ查询语法来实现对XML文档的查询和操作。 总之,通过在VB.NET代码导入System.Xml命名空间,我们可以使用XmlDocument类和其他相关类来处理XML文档。这使我们能够方便地操作和管理XML数据,从而实现更方便和高效的开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值