Tan*_*ner 2 c# html-agility-pack
我在使用HTMLAgilityPack找到的元素中有一个以下元素的列表.
<option value="67"><span style="color: #cc0000;">Horde</span> Leveling / Dailies & Event Guide ($50.00)</option>
Run Code Online (Sandbox Code Playgroud)
我需要做的是解析标签中的所有文本,而不是那里的所有mumbo jumbo.我已经尝试了(貌似!)所有东西,但总是看起来像这样:
部落
等级/日报和活动指南($ 50.00)
有时喜欢:
部落
等级
/日报和活动指南($ 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>
Run Code Online (Sandbox Code Playgroud)
默认情况下,<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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |