WebSocketMessage ExtractFromEnd Method (ExtractionCursor, List String , String, String)C# API
Extracts text from the message content starting from the end. Everything between (but not including) the specified list of after and before string objects will be returned.

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

public string ExtractFromEnd(
	ExtractionCursor cursor,
	List<string> after,
	string before,
	string defaultValue
)

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.
after
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 before all the string objects have been matched in the content.
before
Type: System String
This text is searched for in the message content after the after text has been found, and the returned string ends immediately after this text occurs in the content.
defaultValue
Type: System String
The value to return if either the before or after text cannot be found.

Return Value

The extracted text, or defaultValue if the extract failed.
Remarks

Supplying a List<string> of after 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 response content is returned until before is matched. Information about the success/failure of this method will be stored in the ExtractionCursor object passed.
Examples

using (WebSocketMessage webSocket_message = Get<WebSocketMessageQueue>("webSocketMessageQueue").GetNextMessage(TimeSpan.FromSeconds(60)))
   {
       ExtractionCursor cursor = new ExtractionCursor();

   // extract the selected value from the HTML text 
    // <select> 
    //    <option value="volvo">Volvo</option> 
    //    <option value="saab">Saab</option> 
    //    <option value="vw">VW</option> 
    //    <option value="audi" selected>Audi</option> 
    // </select>

    List<string> after = new List<string>();
    after.Add("</select>");
    after.Add("selected");
    after.Add("\"");

    string extractedText = webSocket_message.ExtractFromEnd(
                            cursor,
                            after,
                            "value=\"",
                            "Volvo");

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