2009-12-09 138 views
3

我試圖在以下模式下使用Html Agility Pack中的ends-with//span[ends-with(@id, 'Label2')]//span[ends-with(., 'test')],但它不起作用。Html Agility Pack結束 - 不起作用

所有其他功能,如starts-withcontains工作良好。

任何人都可以幫助我嗎?

+1

你是問這裏有個問題嗎? – Oded 2009-12-09 12:09:29

+1

@Oded =>'任何人都可以幫我嗎? – 2009-12-09 12:34:00

+0

@Arnis L.,我忘了添加它。他是對的。 – mxg 2009-12-09 12:42:35

回答

4

可以發現一個黑客! 它是這樣的:

//跨度[ 'Label2的'=子(@id,字符串長度(@id)-string長度( '_ Label2的')+ 1)]

3

是;它不被支持,在這裏也不在XmlDocument。也許手動迭代//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

我認爲我將不得不實施一種硬編碼的解決方案,就像您建議的那樣,如果沒有人推薦任何其他「補丁」。 – mxg 2009-12-09 12:44:49