使用HTMLAgilityPack进行XHTML解析

我在使用HTMLAgilityPack找到的元素中有一个以下元素的列表。

Horde Leveling / Dailies & Event Guide ($50.00) 

我需要做的是解析标签中的所有文本,而不是那里的所有mumbo jumbo。 我已经尝试了(貌似!)一切,但总是看起来像这样:

部落
调平/日报和活动指南($ 50.00)

有时喜欢:

部落
代练
/日报和活动指南($ 50.00)

还有其他一些变化。 我甚至打算将字符串中的每个字符打印成一个字节,我没有找到任何换行符或提要,只有我期望的,正常的字母和空格。 这是html的完整源代码,可直接从页面复制。

 Alliance Leveling Guide ($30.00) Horde Leveling Guide ($30.00) Horde Dailies & Events Guide ($25.00) Horde Leveling / Dailies & Event Guide ($50.00) Alliance & Horde Leveling Guide ($50.00) Alliance Achievements & Professions Guide ($20.00) Horde Achievements & Professions Guide ($20.00) Alliance & Horde Achievements & Professions Guide ($30.00) 

默认情况下,Html Agility Pack将标记视为“空”,这意味着它不需要关闭 ,这就是为什么在这种情况下,抓住XPATH并不容易。 您可以使用HtmlNode.ElementFlags集合更改此设置。

这是一个应该做你想做的代码:

 HtmlDocument doc = new HtmlDocument(); HtmlNode.ElementsFlags.Remove("option"); doc.LoadHtml(yourHtml); foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//option")) { Console.WriteLine(node.InnerText); }