Ottieni tutti i valori degli attributi del tag specificato con Html Agility Pack

c# html html-agility-pack xml xpath

Domanda

Voglio ottenere tutti i valori dell'attributo 'id' del tag 'span' con il pacchetto agility html. Ma invece di attributi ho ottenuto i tag stessi. Ecco il codice

        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);
        }

Apprezzerò se qualcuno mi dice cosa c'è che non va qui.

Risposta accettata

provare

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;



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché