MatchAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje atributy shody vytvořené pomocí porovnávání vzorů textu. Tuto třídu nelze dědit.
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
- Dědičnost
- Atributy
Příklady
#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
Poznámky
Porovnávání vzorů textu umožňuje webové službě XML využívat existující obsah HTML tím, že ho parsuje pomocí regulárních výrazů. Webová služba XML určuje obsah, který chce analyzovat v popisu služby pomocí elementů shody. Tyto prvky shody určují několik položek: regulární výraz pro analýzu obsahu existující stránky HTML, zda musí být analýza nerozlišující velká a malá a kolik instancí obsahu, které odpovídají regulárnímu výrazu, by se mělo vrátit. Když klient sestaví třídu proxy pomocí nástroje Wsdl.exe, metody třídy proxy obsahují MatchAttribute podrobné informace o elementech shody nalezených v popisu služby.
Další informace o porovnávání vzorů textu najdete v tématu Postupy: Vytvoření webových služeb, které parsují obsah webové stránky.
Konstruktory
MatchAttribute(String) |
Inicializuje novou instanci MatchAttribute třídy se zadaným vzorem. |
Vlastnosti
Capture |
Získá nebo nastaví hodnotu, která představuje index shody v rámci seskupení. |
Group |
Získá nebo nastaví hodnotu, která představuje seskupení souvisejících shod. |
IgnoreCase |
Získá nebo nastaví hodnotu, která označuje, zda se má vzor shodovat, nerozlišuje malá a velká písmena. |
MaxRepeats |
Získá nebo nastaví maximální počet hodnot, které se mají vrátit z shody. |
Pattern |
Získá nebo nastaví regulární výraz, který představuje vzor, který se má shodovat. |
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou odvozené třídy. (Zděděno od Attribute) |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní. (Zděděno od Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |