Obtenir le <ul><li> et <b>balises dans htmlAgilityPack VB.NET</b>

.net html-agility-pack vb.net

Question

Honnêtement, je ne sais pas comment faire cela et je suis très coincé. Mon code ne vaut probablement pas la peine d'être partagé, mais je ferai de mon mieux pour poser la question.

<div class="pricing-table">
    <div class="span4">
        <div class="plan">
            <h3>PPTP <span>$0</span></h3>
            <ul>
                <li><b>IP:</b> " (hidden)"</li>
                <li><b>Username:</b> " Guest"</li>
                <li><b>Password:</b> " (hidden)"</li>
                <li><b>Unlimited</b> " Bandwidth"</li>
                <li><b>Torrents</b> " Allowed"</li>
                <li><b>No</b> " Logging"</li>
            </ul>
        </div>
    </div>
</div>

(Ceci est le deuxième)

<div class="pricing-table">
    <div class="span4">
        <div class="plan">
            <h3>PPTP <span>$0</span></h3>
            <ul>
                <li><b>IP:</b> " (hidden)"</li>
                <li><b>Username:</b> " Guest"</li>
                <li><b>Password:</b> " (hidden)"</li>
                <li><b>Unlimited</b> " Bandwidth"</li>
                <li><b>Torrents</b> " Allowed"</li>
                <li><b>No</b> " Logging"</li>
            </ul>
        </div>
    </div>
</div>

À l'aide de ce code HTML, je souhaite copier le nom d'utilisateur et le mot de passe et les insérer dans une étiquette de mon formulaire.

Voici mon code

<div class="pricing-table">
    <div class="span4">
        <div class="plan">
            <h3>PPTP <span>$0</span></h3>
            <ul>
                <li><b>IP:</b> " (hidden)"</li>
                <li><b>Username:</b> " Guest"</li>
                <li><b>Password:</b> " (hidden)"</li>
                <li><b>Unlimited</b> " Bandwidth"</li>
                <li><b>Torrents</b> " Allowed"</li>
                <li><b>No</b> " Logging"</li>
            </ul>
        </div>
    </div>
</div>

Réponse acceptée

Considérez les annotations suivantes:

<li>
    <b>Username:</b> <!-- Use XPath to obtain this element. -->
    " user" <!-- This is the next sibling. -->
</li>

Avec ces annotations à l'esprit:

Vous pouvez obtenir l'élément <b> utilisant XPath comme vous l'avez déjà fait, puis accéder au texte du nom d'utilisateur ou du mot de passe au moyen de la propriété NextSibling comme NextSibling :

<li>
    <b>Username:</b> <!-- Use XPath to obtain this element. -->
    " user" <!-- This is the next sibling. -->
</li>

Si vous souhaitez accéder à la deuxième occurrence de l'élément au lieu de la première, vous devez soit utiliser un XPath plus spécifique, soit utiliser SelectNodes et obtenir l'élément situé au deuxième index à l'aide d'un indexeur tel que:

<li>
    <b>Username:</b> <!-- Use XPath to obtain this element. -->
    " user" <!-- This is the next sibling. -->
</li>



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