Frage

Hello sow i working with HtmlAgilityPack and i have this problem all elemnts that i need have the same stractior and the same class exept the text of the span like in the code i have span with text Amount and Date sow i need to build link like this

"//span(with text=Amount)[div and contains(@class,'detailsValue ')]");

I need to get data 1,700,000.00 from the div that in the span with text 'Amount' and 14.04.2014 from the div that in the span with text 'Date' Any ideas?

This what i have now

List<string> OriginalAmount = GetListDataFromHtmlSourse(PageData, "//span[div and contains(@class,'detailsValue ')]");

 private static List<string> GetListDataFromHtmlSourse(string HtmlSourse, string link)
    {
        List<string> data = new List<string>();
        HtmlAgilityPack.HtmlDocument DocToParse = new HtmlAgilityPack.HtmlDocument();
        DocToParse.LoadHtml(HtmlSourse);

        foreach (HtmlNode node in DocToParse.DocumentNode.SelectNodes(link))

        {
            if (node.InnerText != null) data.Add(node.InnerText);

        }

        return data;
    }
       <div class=" depositDetails cellHeight float " style="height: 37px;">
        <span class=" detailsName darkgray ">Amount</span>
        <br>
        <div class="detailsValue float" style="direction:rtl">1,700,000.00 </div>
        </div>
        </div>
        <div class="BoxCellHeight float">
        <div class="cellHeight separatorvertical float" style="height: 46px;"> </div>
        <div class=" depositDetails cellHeight float " style="height: 40px;">
        <span class=" detailsName darkgray ">Date</span>
        <br>
        <div class="detailsValue float">14.04.2014</div>
        </div>
        </div>
War es hilfreich?

Lösung

Actually, the question is not very clear. How about this :

//span[.='Amount']/following-sibling::div[contains(@class,'detailsValue')]]

Above XPath will search for <span> element with text equals "Amount", then get it's following <div> sibling having class contains "detailsValue"

UPDATE :

According to your comment, if I don't misunderstand it, you want both value (div after Amount span and div after Date span). Try this XPath :

//span[.='Amount' or .='Date']/following-sibling::div[contains(@class, 'detailsValue')]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top