Как я могу разобрать этот файл HTML?

<div id="main">

<style type="text/css">
</style>

<script language="JavaScript">    
</script>
<p style="margin: 0pt 0pt 0.5em;"><b>Media from&nbsp;<a onclick="(new Image()).src='/rg/find-media-title/media_strip/images/b.gif?link=/title/tt0087538/';" href="/title/tt0087538/">The Karate Kid</a> (1984)</b></p>
<style type="text/css">    
</style>

<table style="border-collapse: collapse;">
</table>
</div>

Мне нужно каким-то образом извлечь значение href из (new Image()). Как именно я могу это сделать с помощью HtmlAgilityPack?

Я новичок в этом, и до сих пор я не нашел полезного руководства о том, как эффективно использовать его для синтаксического анализа.

Спасибо за помощь!


person Sergio Tapia    schedule 14.06.2010    source источник


Ответы (1)


HtmlAgilityPack сам по себе не предоставляет много вариантов синтаксического анализа. Но вы можете использовать его с XPath для выполнения любого сложного синтаксического анализа. В вашем примере вы можете сделать -

var testString = "..."; // Your html 
var doc = new HtmlDocument();
doc.LoadHtml(testString);
var node = doc.DocumentNode.SelectSingleNode("/div/p/b/a");
var hrefValue = node.GetAttributeValue("href", ""));

Это даст

/title/tt0087538/
person Rohit Agarwal    schedule 25.06.2010