2009-12-09 8 views
3

J'ai essayé d'utiliser ends-with dans Html Agility Pack dans le mode suivant: //span[ends-with(@id, 'Label2')] et //span[ends-with(., 'test')], mais cela ne fonctionne pas. Toutes les autres fonctions, comme starts-with et contains fonctionnent bienHtml Agility Pack se termine ne fonctionne pas

Quelqu'un peut-il m'aider?

+1

Demandez-vous une question ici? – Oded

+1

@Oded => 'Quelqu'un peut-il m'aider?' –

+0

@Arnis L., j'avais oublié de l'ajouter. Il avait raison. – mxg

Répondre

4

On peut trouver un hack! Il est quelque chose comme ceci:

// durée [ 'Label2' = sous-chaîne (@id, chaîne de longueur (@id) -string longueur ('_ Label2') + 1)]

3

Oui; il n'est pas supporté, ni ici ni dans XmlDocument. Peut-être itérer manuellement sur //span[@id]?

foreach (var node in from HtmlNode n in doc.DocumentNode.SelectNodes(@"//span[@id]") 
        where n.GetAttributeValue("id","").EndsWith("Label2") 
        select n) 
{ 
    Console.WriteLine(node.OuterHtml); 
} 
+0

Je pense que je vais devoir implémenter une solution codée en dur, comme celle que vous proposez, si aucune recommandation n'est faite. – mxg