C# 即使我想用HtmlAllityPack解析HTML字符串,我也会使用HtmlDocument吗?
我在C#工作。我试图从HTML字符串(实际上是一个post数据)中提取img标记的第一个实例 这是我的代码:C# 即使我想用HtmlAllityPack解析HTML字符串,我也会使用HtmlDocument吗?,c#,html,parsing,C#,Html,Parsing,我在C#工作。我试图从HTML字符串(实际上是一个post数据)中提取img标记的第一个实例 这是我的代码: private string GrabImage(string htmlContent) { String firstImage; HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.LoadHtml(htmlContent); Html
private string GrabImage(string htmlContent)
{
String firstImage;
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(htmlContent);
HtmlAgilityPack.HtmlNode imageNode = htmlDoc.DocumentNode.SelectSingleNode("//img");
if (imageNode != null)
{
return firstImage = imageNode.ToString();
}
else
return firstImage=" ";
}
但是它在htmlDoc中变为null,即使我试图从字符串解析HTML,我也会使用HtmlDocument类型吗
顺便问一下,这是从我的HTML字符串中获取图像标记的第一个实例的正确方法吗?对于p.S.部分,您需要确保返回imageNode的HTML文本,而不是对象的名称
当我在使用agility pack的计算机上时,我将尝试为文档添加一个附加部分。使用您提供的HTML,我创建了这个控制台应用程序
static void Main(string[] args)
{
var image = GrabImage("<h2>How to learn Photoshop</h2><p> Its <a href=\"/mysite.aspx\">link</a></p><br /> <img src=\"image.jpg\" alt=\"image\"/>");
Console.WriteLine(image);
Console.ReadLine();
}
private static string GrabImage(string htmlContent)
{
String firstImage;
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(htmlContent);
HtmlAgilityPack.HtmlNode imageNode = htmlDoc.DocumentNode.SelectSingleNode("//img");
if (imageNode != null)
{
firstImage = imageNode.OuterHtml.ToString();
}
else
firstImage = " ";
return firstImage;
}
static void Main(字符串[]args)
{
var image=GrabImage(“如何学习PhotoshopIts
”);
控制台。WriteLine(图像);
Console.ReadLine();
}
私有静态字符串GrabImage(字符串htmlContent)
{
字符串图像;
HtmlAgilityPack.HtmlDocument htmlDoc=新的HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(htmlContent);
HtmlAgilityPack.HtmlNode imageNode=htmlDoc.DocumentNode.SelectSingleNode(“//img”);
如果(imageNode!=null)
{
firstImage=imageNode.OuterHtml.ToString();
}
其他的
firstImage=“”;
返回第一个图像;
}
我找不到你所描述的问题。你能告诉我你在哪里调用GrabImage方法吗?请说明你使用的是什么语言。你能举一个例子说明正在传入的htmlContent吗?谢谢Greg,我刚刚更新了这个问题。我在《C#Jeremy》中使用了一个htmlContent的例子:如何学习PhotoshopIts
……BenMaddox,我已经知道我做错了什么。谢谢你的帮助。这个解决方案和我的答案有关吗?