ASP.NET XML Web services 进行的 HTML 分析

本主题专门介绍一项旧有技术。现在应通过使用以下链接来创建 XML Web 服务和 XML Web 服务客户端: Windows Communication Foundation.

如今的 Web 会公开大量的信息。遗憾的是,人眼只有在通过浏览器阅读时才能轻松理解其中的大部分数据。使用 ASP.NET 创建的 Web 服务有助于改善这一情况。这种服务提供了 HTML 分析解决方案,使开发人员可以分析远程 HTML 页的内容并以编程方式公开所得到的数据。在网站内容布局不变的前提下,一旦从内容发布者那里获得权限,便可以使用 HTML 分析公开客户端可以利用的 Web 服务。有关 HTML 分析的更多信息,请参见如何:创建用于分析网页内容的 Web 服务

生成分析网页内容的 Web 服务时所用的模型与生成典型的 Web 服务时所用的模型不同。分析 HTML 页的 Web 服务是通过创建服务说明来实现的,服务说明是用 Web 服务描述语言 (WSDL) 编写的 XML 文档。在服务说明中,需要添加 XML 元素来指定输入参数以及 HTML 页在经过分析后返回的数据。

如果要分析的 HTML 页接受影响返回的 HTML 页内容的参数,则可以将输入参数传递给 Web 服务器。

指定 HTML 页在经过分析后返回的数据集中了实现的大部分工作,因为这里要指定分析 HTML 内容要用到的各种指令。为了添加这些 XML 元素进而生成分析 HTML 页的 Web 服务,开发人员必须了解用 WSDL 编写的 XML 文档的布局。有关 WSDL 的详细信息,请参见 W3C 网站 (http://www.w3.org/TR/wsdl) 上的 WSDL 规范。

HTML 页在经过分析后返回的数据由服务说明中的一系列 XML 元素表示,这些元素包含用于分析特定数据部分的正则表达式,同时为每条数据提供了一个名称。实际的 .NET Framework 正则表达式显示在 match XML 元素中。正则表达式提供了大量模式匹配的表示法,从而可以迅速分析大量的文本来查找特定的字符模式。有关 .NET Framework 正则表达式语法的详细信息,请参见 .NET Framework Regular Expressions

<match> 元素

match 元素可用下列特性指定:

特性 说明

name

表示返回的数据部分的类或属性名称。如果 match XML 元素具有子元素 match,由 Wsdl.exe 工具生成的代理类会将 name 特性与某个类关联起来。子元素 match 将被映射到该类的各个属性。

Pattern

为获取该数据部分而使用的正则表达式模式。有关 .NET Framework 正则表达式语法的详细信息,请参见 .NET Framework Regular Expressions

ignoreCase

指定正则表达式在运行时是否不应区分大小写。默认值是区分大小写。

Repeats

指定正则表达式在 HTML 页上具有多个匹配项时应返回的值数目。如果值为 1,则仅返回第一个匹配项。如果值为 -1,则返回所有匹配项。值为 -1 等同于在正则表达式中使用 *。默认值为 -1。

Group

指定将相关匹配项分为一组。

Capture

指定匹配项在分组中的索引。

type

对于包含子元素 matchmatch,使用 Wsdl.exe 生成的代理类会将 type 特性用作返回的类名。默认情况下,由 Wsdl.exe 生成的代理类会将返回的类名设置为 name 特性中指定的名称。

另请参见

任务

如何:创建用于分析网页内容的 Web 服务

参考

MatchAttribute Class
Web 服务描述语言工具 (Wsdl.exe)

其他资源

.NET Framework Regular Expressions
使用 ASP.NET 的 XML Web services