MatchAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示使用文字模式比對所尋獲之符合項目的屬性。 此類別無法獲得繼承。
public ref class MatchAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class MatchAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type MatchAttribute = class
inherit Attribute
Public NotInheritable Class MatchAttribute
Inherits Attribute
- 繼承
- 屬性
範例
#using <System.dll>
#using <System.Web.Services.dll>
using namespace System;
using namespace System::Web::Services::Protocols;
public ref class Example_Headers
{
public:
[MatchAttribute("TITLE>(.*?)<")]
String^ Title;
[MatchAttribute("",Pattern="h1>(.*?)<",IgnoreCase=true)]
String^ H1;
[MatchAttribute("H2>((([^<,]*),?)+)<",Group=3,Capture=4)]
String^ Element;
[MatchAttribute("H2>((([^<,]*),?){2,})<",Group=3,MaxRepeats=0)]
array<String^>^ Elements1;
[MatchAttribute("H2>((([^<,]*),?){2,})<",Group=3,MaxRepeats=1)]
array<String^>^ Elements2;
[MatchAttribute("H3 ([^=]*)=([^>]*)",Group=1)]
String^ Attribute;
[MatchAttribute("H3 ([^=]*)=([^>]*)",Group=2)]
String^ Value;
};
public ref class MatchAttribute_Example: public HttpGetClientProtocol
{
public:
MatchAttribute_Example()
{
Url = "http://localhost";
}
[HttpMethodAttribute(TextReturnReader::typeid,UrlParameterWriter::typeid)]
Example_Headers^ GetHeaders()
{
return ((Example_Headers^)(Invoke( "GetHeaders", ( Url + "/MyHeaders.html" ),
gcnew array<Object^>(0) )));
}
System::IAsyncResult^ BeginGetHeaders( System::AsyncCallback^ callback,
Object^ asyncState )
{
return BeginInvoke( "GetHeaders", ( Url + "/MyHeaders.html" ),
gcnew array<Object^>(0), callback, asyncState );
}
Example_Headers^ EndGetHeaders( System::IAsyncResult^ asyncResult )
{
return (Example_Headers^)(EndInvoke( asyncResult ));
}
};
using System;
using System.Web.Services.Protocols;
public class MatchAttribute_Example : HttpGetClientProtocol
{
public MatchAttribute_Example()
{
Url = "http://localhost";
}
[HttpMethodAttribute(typeof(TextReturnReader), typeof(UrlParameterWriter))]
public Example_Headers GetHeaders()
{
return ((Example_Headers)Invoke("GetHeaders", (Url + "/MyHeaders.html"),
new object[0]));
}
public System.IAsyncResult BeginGetHeaders(System.AsyncCallback callback,
object asyncState)
{
return BeginInvoke("GetHeaders", (Url + "/MyHeaders.html"),
new object[0], callback, asyncState);
}
public Example_Headers EndGetHeaders(System.IAsyncResult asyncResult)
{
return (Example_Headers)(EndInvoke(asyncResult));
}
}
public class Example_Headers
{
[MatchAttribute("TITLE>(.*?)<")]
public string Title;
[MatchAttribute("", Pattern="h1>(.*?)<", IgnoreCase=true)]
public string H1;
[MatchAttribute("H2>((([^<,]*),?)+)<", Group=3, Capture=4)]
public string Element;
[MatchAttribute("H2>((([^<,]*),?){2,})<", Group=3, MaxRepeats=0)]
public string[] Elements1;
[MatchAttribute("H2>((([^<,]*),?){2,})<", Group=3, MaxRepeats=1)]
public string[] Elements2;
[MatchAttribute("H3 ([^=]*)=([^>]*)", Group=1)]
public string Attribute;
[MatchAttribute("H3 ([^=]*)=([^>]*)", Group=2)]
public string Value;
}
Imports System.Web.Services.Protocols
Public Class MatchAttribute_Example
Inherits HttpGetClientProtocol
Public Sub New()
Url = "http://localhost"
End Sub
<HttpMethodAttribute(GetType(TextReturnReader), GetType(UrlParameterWriter))> _
Public Function GetHeaders() As Headers
Return CType(Invoke("GetHeaders", Url + "/MyHeaders.html", New Object(0) {}), Headers)
End Function 'GetHeaders
Public Function BeginGetHeaders(ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As _
System.IAsyncResult
Return BeginInvoke("GetHeaders", Url + "/MyHeaders.html", New Object(0) {}, _
callback, asyncState)
End Function 'BeginGetHeaders
Public Function EndGetHeaders(ByVal asyncResult As System.IAsyncResult) As Headers
Return CType(EndInvoke(asyncResult), Headers)
End Function 'EndGetHeaders
End Class
Public Class Headers
<MatchAttribute("TITLE>(.*?)<")> _
Public Title As String
<MatchAttribute("", Pattern:="h1>(.*?)<", IgnoreCase:=True)> _
Public H1 As String
<MatchAttribute("H2>((([^<,]*),?)+)<", Group:=3, Capture:=4)> _
Public Element As String
<MatchAttribute("H2>((([^<,]*),?){2,})<", Group:=3, MaxRepeats:=0)> _
Public Elements1() As String
<MatchAttribute("H2>((([^<,]*),?){2,})<", Group:=3, MaxRepeats:=1)> _
Public Elements2() As String
<MatchAttribute("H3 ([^=]*)=([^>]*)", Group:=1)> _
Public Attribute As String
<MatchAttribute("H3 ([^=]*)=([^>]*)", Group:=2)> _
Public Value As String
End Class
備註
文字模式比對可讓 XML Web 服務利用現有的 HTML 內容,方法是使用正則表達式進行剖析。 XML Web 服務會指定想要使用比對專案在服務描述中剖析的內容。 這些比對元素會指定數個專案:用來剖析現有 HTML 頁面內容的正規表達式、剖析是否必須不區分大小寫,以及應該傳回符合正則表達式的內容實例數目。 當用戶端使用 Wsdl.exe 工具建置 Proxy 類別時,Proxy 類別的方法會包含詳細說明 MatchAttribute 服務描述中找到的相符專案。
如需文字模式比對的詳細資訊,請參閱 如何:建立剖析網頁內容的Web服務。
建構函式
MatchAttribute(String) |
使用指定的模式,初始化 MatchAttribute 類別的新執行個體。 |
屬性
Capture |
取得或設定數值,表示群組內部之符合的索引。 |
Group |
取得或設定數值,表示相關符合的群組。 |
IgnoreCase |
取得或設定值,指出要符合的模式是否區分大小寫。 |
MaxRepeats |
取得或設定要從符合傳回的值之最大數量。 |
Pattern |
取得或設定表示要符合模式的規則運算式。 |
TypeId |
在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。 (繼承來源 Attribute) |
方法
Equals(Object) |
傳回值,這個值指出此執行個體是否與指定的物件相等。 (繼承來源 Attribute) |
GetHashCode() |
傳回這個執行個體的雜湊碼。 (繼承來源 Attribute) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
IsDefaultAttribute() |
在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。 (繼承來源 Attribute) |
Match(Object) |
在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。 (繼承來源 Attribute) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |