使用 HtmlAgilityPack 获取 html 标签的值
Get values of htm tags with HtmlAgilityPack
我有很多具有以下样式的 Html 块代码,我需要
的值
- img 的 src 属性值
- 日期值
- 第二个 img 的源属性值
- 详情
我在代码中指定了这些数字。
最后我想将所有这些值放在一个 XML 文件中。那么,您能否帮助我了解如何使用 HtmlAgilityPack 获取这些值?
提前致谢。
<div class="promotion">
<div class="logo">
<img src='http://www.example.com/D.jpg' **(1)**>
</div>
<div class="details">
<p class="date"> 2015/12/12 **(2)** </p>
<p>
<img src="http://www.example.com/DDD.jpg" **(3)** alt="" />
<h3> Some Details **(4)** </h3>
</p>
</div>
</div>
如果您 HTML 和您提出的问题一样,您可以使用 XPath 按以下顺序检索结果:
使用以前的代码,例如使用您的 HTML 进行测试:
var html = @"<div class='promotion'>
<div class='logo'>
<img src='http://www.example.com/D.jpg' **(1)**>
</div>
<div class='details'>
<p class='date'> 2015/12/12 **(2)** </p>
<p>
<img src='http://www.example.com/DDD.jpg' **(3)** alt='' />
<h3> Some Details **(4)** </h3>
</p>
</div>
</div>";
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
例如第一张图片是这样的:
var value = doc.DocumentNode.SelectSingleNode("//div[@class='logo']/img").Attributes["src"].Value;
第二个是这样的:
var value = doc.DocumentNode.SelectSingleNode("//p[@class='date']").InnerText;
第三个:
var value = doc.DocumentNode.SelectSingleNode("//div[@class='details']/p[2]/img").Attributes["src"].Value;
对于四个:
var value = doc.DocumentNode.SelectSingleNode("//div[@class='details']/p[2]/h3").InnerText;
希望对你有所帮助。
我有很多具有以下样式的 Html 块代码,我需要
的值- img 的 src 属性值
- 日期值
- 第二个 img 的源属性值
- 详情
我在代码中指定了这些数字。
最后我想将所有这些值放在一个 XML 文件中。那么,您能否帮助我了解如何使用 HtmlAgilityPack 获取这些值?
提前致谢。
<div class="promotion">
<div class="logo">
<img src='http://www.example.com/D.jpg' **(1)**>
</div>
<div class="details">
<p class="date"> 2015/12/12 **(2)** </p>
<p>
<img src="http://www.example.com/DDD.jpg" **(3)** alt="" />
<h3> Some Details **(4)** </h3>
</p>
</div>
</div>
如果您 HTML 和您提出的问题一样,您可以使用 XPath 按以下顺序检索结果:
使用以前的代码,例如使用您的 HTML 进行测试:
var html = @"<div class='promotion'>
<div class='logo'>
<img src='http://www.example.com/D.jpg' **(1)**>
</div>
<div class='details'>
<p class='date'> 2015/12/12 **(2)** </p>
<p>
<img src='http://www.example.com/DDD.jpg' **(3)** alt='' />
<h3> Some Details **(4)** </h3>
</p>
</div>
</div>";
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
例如第一张图片是这样的:
var value = doc.DocumentNode.SelectSingleNode("//div[@class='logo']/img").Attributes["src"].Value;
第二个是这样的:
var value = doc.DocumentNode.SelectSingleNode("//p[@class='date']").InnerText;
第三个:
var value = doc.DocumentNode.SelectSingleNode("//div[@class='details']/p[2]/img").Attributes["src"].Value;
对于四个:
var value = doc.DocumentNode.SelectSingleNode("//div[@class='details']/p[2]/h3").InnerText;
希望对你有所帮助。