我在使用 HTMLAgilityPack 找到的元素内有以下元素的列表。
<option value="67"><span style="color: #cc0000;">Horde</span> Leveling / Dailies & Event Guide ($50.00)</option>
我需要做的是解析标签中的所有文本,而不包含其中的所有胡言乱语。我已经尝试了(似乎!)一切,但它总是看起来像这样:
Horde
升级/每日任务和活动指南 ($50.00)
有时喜欢:
Horde
调平
/ 每日任务和活动指南 ($50.00)
以及其他一些类似的变体。我什至将字符串中的每个字符作为一个字节打印出来,但我没有找到任何换行符或提要,只有我所期望的,正常的字母和空格。这是直接从页面复制的 html 完整源代码供参考。
<option value="13"><span style="color: #0000ff;">Alliance</span> Leveling Guide ($30.00)</option>
<option value="12"><span style="color: #cc0000;">Horde</span> Leveling Guide ($30.00)</option>
<option value="46"><span style="color: #cc0000;">Horde</span> Dailies & Events Guide ($25.00)</option>
<option value="67"><span style="color: #cc0000;">Horde</span> Leveling / Dailies & Event Guide ($50.00)</option>
<option value="11"><span style="color: #0000ff;">Alliance</span> & <span style="color: #cc0000;">Horde</span> Leveling Guide ($50.00)</option>
<option value="97"><span style="color: #0000ff;">Alliance</span> Achievements & Professions Guide ($20.00)</option>
<option value="98"><span style="color: #cc0000;">Horde</span> Achievements & Professions Guide ($20.00)</option>
<option value="99"><span style="color: #0000ff;">Alliance</span> & <span style="color: #cc0000;">Horde</span> Achievements & Professions Guide ($30.00)</option>
默认情况下,<OPTION>
标签被 Html Agility Pack 视为“空”,这意味着它不需要结束</OPTION>
,这就是为什么在这种情况下,用 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);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)