HtmlAgilityPack - sélection d'un seul nœud dans une collection de nœuds à l'aide de XPath

html-agility-pack selectsinglenode xpath

Question

Je me bats avec ce code depuis quelques heures maintenant ....

Exemple de nœud pour les résultats:

<div class="left vcard" sizcache="1" sizset="32">
        <h2 class="clearfix fn org url" sizcache="1" sizset="32">
            <a id="listItemTitle_11310540" href="/marcali/viragok-viragkuldes/11310540/ANDOK_MATYAS/hirdetes.mtt">ANDÓK MÁTYÁS</a> <a class="removeFromList" href="#">törlés</a>
        </h2>
        <p class="description">
            2009 decemberében nyitottuk meg az Ezerszirom Virágbolt-ot Marcaliban a Petőfi Sándor u.11-ben. Szeretettel várja a kedves vásárlókat Horváth Györgyike virágkötő, aki 15 éve kápráztatja el kreatíva...</p>
        <ul class="profession" sizcache="1" sizset="34">
            <li sizcache="1" sizset="34"><a href="/szakmak/viragok-viragkuldes/index.mtt">Virágok, virágküldés</a> </li>
        </ul>
        <div class="clearfix margined" sizcache="1" sizset="35">
            <p class="address adr">
                <span>Cím:</span> 8700 Marcali, Petőfi S. utca 11 .</p>
            <ul class="nav clearfix" sizcache="1" sizset="35">
                <li class="mapLink" sizcache="1" sizset="35"><span>-</span><a class="mapLink" href="/terkep/11310540/ANDOK_MATYAS">térképen mutat</a> </li>
                <li class="routeplanner" sizcache="1" sizset="36"><em>útvonaltervezés</em> <span>-</span> <a onclick="window.location = '/redirect.jspv?method=Redirect&amp;routePlanCount=11310540&amp;url=%2Futvonalterv.jspv%3Fto%3D%26from%3D8700+Marcali%2C+Pet%C5%91fi+S.+utca+11+.%26fromX%3D17.414611005499122%26fromY%3D46.57928886409497%26activeTab%3DrouteSearch&amp;activeTab=routeSearch'" href="#">innen</a> <strong>/</strong> <span>-</span> <a onclick="window.location = '/redirect.jspv?method=Redirect&amp;routePlanCount=11310540&amp;url=%2Futvonalterv.jspv%3Ffrom%3D%26to%3D8700+Marcali%2C+Pet%C5%91fi+S.+utca+11+.%26toX%3D17.414611005499122%26toY%3D46.57928886409497%26activeTab%3DrouteSearch'" href="#">ide</a> </li>
            </ul>
            <div class="contacts" sizcache="1" sizset="38">
                <div class="phoneHolder clearfix" sizcache="1" sizset="38">
                    <div class="dt phone">
                        Telefonszám:
                    </div>
                    <div class="dd phoneValue tel" sizcache="1" sizset="38">
                        <span>(70) 326 2843</span> <a class="clickToCall" onclick="javascript:openECS('11310540');" href="#">Hívja ingyen!</a>
                    </div>
                </div>
                <div class="webLinkHolder" sizcache="1" sizset="39">
                    <div class="dt webLink clearfix">
                        Weboldal:
                    </div>
                    <div class="dd webLinkValue" sizcache="1" sizset="39">
                        <a href="http://www.ezerszirom.hu" rel="blank,nofollow">http://www.ezerszirom.hu</a>
                    </div>
                </div>
            </div>
        </div>
    </div>

Et mon code:

<div class="left vcard" sizcache="1" sizset="32">
        <h2 class="clearfix fn org url" sizcache="1" sizset="32">
            <a id="listItemTitle_11310540" href="/marcali/viragok-viragkuldes/11310540/ANDOK_MATYAS/hirdetes.mtt">ANDÓK MÁTYÁS</a> <a class="removeFromList" href="#">törlés</a>
        </h2>
        <p class="description">
            2009 decemberében nyitottuk meg az Ezerszirom Virágbolt-ot Marcaliban a Petőfi Sándor u.11-ben. Szeretettel várja a kedves vásárlókat Horváth Györgyike virágkötő, aki 15 éve kápráztatja el kreatíva...</p>
        <ul class="profession" sizcache="1" sizset="34">
            <li sizcache="1" sizset="34"><a href="/szakmak/viragok-viragkuldes/index.mtt">Virágok, virágküldés</a> </li>
        </ul>
        <div class="clearfix margined" sizcache="1" sizset="35">
            <p class="address adr">
                <span>Cím:</span> 8700 Marcali, Petőfi S. utca 11 .</p>
            <ul class="nav clearfix" sizcache="1" sizset="35">
                <li class="mapLink" sizcache="1" sizset="35"><span>-</span><a class="mapLink" href="/terkep/11310540/ANDOK_MATYAS">térképen mutat</a> </li>
                <li class="routeplanner" sizcache="1" sizset="36"><em>útvonaltervezés</em> <span>-</span> <a onclick="window.location = '/redirect.jspv?method=Redirect&amp;routePlanCount=11310540&amp;url=%2Futvonalterv.jspv%3Fto%3D%26from%3D8700+Marcali%2C+Pet%C5%91fi+S.+utca+11+.%26fromX%3D17.414611005499122%26fromY%3D46.57928886409497%26activeTab%3DrouteSearch&amp;activeTab=routeSearch'" href="#">innen</a> <strong>/</strong> <span>-</span> <a onclick="window.location = '/redirect.jspv?method=Redirect&amp;routePlanCount=11310540&amp;url=%2Futvonalterv.jspv%3Ffrom%3D%26to%3D8700+Marcali%2C+Pet%C5%91fi+S.+utca+11+.%26toX%3D17.414611005499122%26toY%3D46.57928886409497%26activeTab%3DrouteSearch'" href="#">ide</a> </li>
            </ul>
            <div class="contacts" sizcache="1" sizset="38">
                <div class="phoneHolder clearfix" sizcache="1" sizset="38">
                    <div class="dt phone">
                        Telefonszám:
                    </div>
                    <div class="dd phoneValue tel" sizcache="1" sizset="38">
                        <span>(70) 326 2843</span> <a class="clickToCall" onclick="javascript:openECS('11310540');" href="#">Hívja ingyen!</a>
                    </div>
                </div>
                <div class="webLinkHolder" sizcache="1" sizset="39">
                    <div class="dt webLink clearfix">
                        Weboldal:
                    </div>
                    <div class="dd webLinkValue" sizcache="1" sizset="39">
                        <a href="http://www.ezerszirom.hu" rel="blank,nofollow">http://www.ezerszirom.hu</a>
                    </div>
                </div>
            </div>
        </div>
    </div>

le problème ? Étant donné que je parcours les résultats, chaque nœud doit avoir sa propre description, mais je reçois l'innerText du premier nœud. une idée pourquoi?

Réponse acceptée

Dans XPath, // signifie "recherche récursive à partir de la racine". Par conséquent, la requête ne recherche pas dans le nœud que vous avez, mais récupère le premier dans le document.

Essaye ça:

node.SelectSingleNode("descendant::p[@class='description']")



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi