Share via


ASP.NET XML Web Service 進行的 HTML 剖析

本主題專門說明舊有技術。 應該使用下列建立 XML Web Service 及 XML Web Service 用戶端: Windows Communication Foundation.

現今的 Web 會呈現大量的資訊給世人。可惜的是,這些資料大多只有透過人們的眼睛從瀏覽器中讀取,才容易解譯。使用 ASP.NET 建立的 Web 服務有助於改善這種情況,其做法是提供 HTML 剖析方案,讓開發人員用來剖析遠端 HTML 網頁的內容,並以程式設計方式公開產生的資料。只要從網站內容發行者取得權限,並假設內容版面配置未變更,您就可以使用 HTML 剖析來公開可供用戶端利用的 Web 服務。如需 HTML 剖析的詳細資訊,請參閱 HOW TO:建立剖析網頁內容的 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 工具產生的 Proxy 類別會將 name 屬性與該類別產生關聯。match 子項目會對應到類別的屬性。

Pattern

要用來取得資料項目的規則運算式模式。如需 .NET Framework 規則運算式語法的詳細資訊,請參閱 .NET Framework Regular Expressions

ignoreCase

指定執行規則運算式時是否要區分大小寫。預設為區分大小寫。

Repeats

指定當規則運算式在 HTML 網頁上找到多個符合項目時,應從規則運算式傳回多少數目的值。1 的值表示只傳回第一個符合項目。值為 -1,則會傳回所有符合項目。-1 的值就等於規則運算式中的 *。預設值為 -1。

Group

指定相關符合項目的群組。

Capture

指定群組內符合項目的索引。

type

使用 Wsdl.exe 所產生的 Proxy 類別會使用 type 屬性做為內含 match 子項目之 match 傳回類別的名稱。根據預設,Wsdl.exe 產生的 Proxy 類別會將傳回類別的名稱設定為 name 屬性中指定的名稱。

另請參閱

工作

HOW TO:建立剖析網頁內容的 Web 服務

參考

MatchAttribute Class
Web 服務描述語言工具 (Wsdl.exe)

其他資源

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