J'ai:
<div id="foo">
<a href="/xxx.php"> xx </a>
<a href="/xy.php"> xy </a>
<a href="/uid.php?id=123"> 123 </a>
<a href="/uid.php?id=344"> 344 </a>
</div>
Comment sélectionner uniquement les éléments contenant 'id' dans href avec HtmlAgilityPack?
avec sortie:
<a href="/uid.php?id=123"> 123 </a>
<a href="/uid.php?id=344"> 344 </a>
Merci, avancé.
L'expression XPath suivante doit sélectionner tous a
des éléments qui ont un href
balise qui contient le texte « id ».
var xpathExpression = "//a[contains(@href, 'id')]";
J'ai pu sélectionner les balises avec id dans l'attribut href à l'aide du code suivant:
var htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(
@"<div id=""foo"">
<a href=""/xxx.php""> xx </a>
<a href=""/xy.php""> xy </a>
<a href=""/uid.php?id=123""> 123 </a>
<a href=""/uid.php?id=344""> 344 </a>
</div>");
var aTags = htmlDoc.DocumentNode.SelectNodes("//a[contains(@href, 'id')]");
foreach(var aTag in aTags)
Console.WriteLine(aTag.OuterHtml);