Obtenir toutes les valeurs d'attribut d'une balise donnée avec Html Agility Pack

c# html html-agility-pack xml xpath

Question

Je veux obtenir toutes les valeurs de l'attribut 'id' de la balise 'span' avec le pack d'agilité HTML. Mais au lieu d'attributs, je me suis tagué. Voici le code

        private static IEnumerable<string> GetAllID()
        {
            HtmlDocument sourceDocument = new HtmlDocument();
            sourceDocument.Load(FileName);
            var nodes = sourceDocument.DocumentNode.SelectNodes(
                 @"//span/@id");
            return nodes.Nodes().Select(x => x.Name);
        }

J'apprécierai que quelqu'un me dise ce qui ne va pas ici.

Réponse acceptée

essayer

var nodes = sourceDocument.DocumentNode.SelectNodes("//span[@id]");
List<string> ids = new List<string>(nodes.Count);

if(nodes != null)
{
    foreach(var node in nodes)
    {
        if(node.Id != null)
        ids.Add(node.Id);
    }
}

return ids;



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