WebSocketMessage Extract Method (ExtractionCursor, List String , String, ActionType)C# API
Extracts text from the message content - everything between (but not including) the specified list of before and after string objects, and what action to take in case of failure.

Namespace: Facilita.Web
Assembly: clrWebBrowser (in clrWebBrowser.dll) Version: 9.5.7.98 (1.0.0.0)
Syntax

public string Extract(
	ExtractionCursor cursor,
	List<string> before,
	string after,
	ActionType failAction
)

Parameters

cursor
Type: Facilita.Native ExtractionCursor
An ExtractionCursor object to store the success/failure of the action, and the index in the message at which the match was found.
before
Type: System.Collections.Generic List String 
Each string in this List is searched for sequentially in the message content, and the returned string starts immediately after all the string objects have been matched in the content.
after
Type: System String
This text is searched for in the message content after the before text has been found, and the returned string ends immediately before this text occurs in the content.
failAction
Type: Facilita.Fc.Runtime ActionType
The action to take if the extract fails.

Return Value

The extracted text, or an empty string if the extract failed.
Remarks

Information about the success/failure of this method will be stored in the ExtractionCursor object passed.

Supplying a List<string> of before values enables you to express more complicated extraction patterns. eggPlant Performance searches for the first string in the list, and searches for the second string after the position at which the first string was found. This continues until the final string is matched, after which the extracted content is returned until after is matched. See the example below, in which a known unique name (f_custid) is used to narrow the search.

Examples

The following example demonstrates using a list of strings to narrow down the search for text to extract from a message.
ExtractionCursor cursor = new ExtractionCursor();

// extract the f_custid value from the HTML text, defaulting to "00000" if the value cannot be found 
// <input type="text" name="f_customer" size="32" maxlength="32" value="Joe Smith"> 
// <input type="text" name="f_custid" size="10" maxlength="10" value="12345"> 
// <input type="text" name="f_account" size="10" maxlength="10" value="9876543">

List<string> before = new List<string>();
before.Add("f_custid");
before.Add("value=\"");

string extractedText = webSocketMessage.Extract(
                        cursor,
                        before,
                        "\"",
                        ActionType.ACT_ERROR);

if (cursor.Succeeded)
{
    WriteMessage(string.Format("The value {0} was found at position {1}", extractedText, cursor.Index));
}
See Also