2017-10-05 17 views
0

est possible obtenir avec HtmlAgilityPack une option spécifique? Par exemple j'ai un select comme ceci:Obtenez une option spécifique dans HtmlAgilityPack?

<select id="foo"> 
    <option value="0">1</option> 
    <option value="1" selected="selected">2</option> 
</selected> 

Je dois obtenir l'option avec choisi. Je sais comment obtenir l'option avec:

doc.DocumentNode.SelectNodes("//select[@id='foo']//option"); 

Répondre

1

Cela devrait fonctionner:

doc.DocumentNode.SelectNodes("//select[@id='foo']/option[@selected='selected']"); 

Vous pouvez en savoir plus sur XPath here

+0

Je ne peux pas obtenir ce travail – ssdfsd

+0

puisque vous aurez besoin d'un seul nœud, essayez d'utiliser doc.DocumentNode.SelectSingleNode ("// select [@ id = 'foo']/option [@ selected = 'selected'] "); – Gianlucca

+0

non, aussi avec le dernier ne fonctionne pas, avez-vous essayé? – ssdfsd

1
doc.DocumentNode.SelectSingleNode("//Select[@id='foo']//*[@selected='selected']"); 

Cela devrait fonctionner, mais sa donner une naissance plus large pour l'obtenir en essayant d'obtenir le premier nœud qu'il trouve de n'importe quel type de Tag à n'importe quelle profondeur dans le Tag de sélection qui a un attribut sélectionné de la valeur sélectionnée.