Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用xpath提取链接_C#_Xpath - Fatal编程技术网

C# 如何使用xpath提取链接

C# 如何使用xpath提取链接,c#,xpath,C#,Xpath,我正在尝试创建一个应用程序,您可以在其中输入一个web url(http://www.explosm.net/comics/3104/它会自动保存一个字符串,其中包含给定xpath的第一个链接(/*[@id=“maincontent”]/div[2]/div[2]/div[1]/img),这是我要下载的图片 我真的不知道从哪里开始。我已经尝试了HtmlAgilityPack和WebBrowser类,但是我找不到任何东西来帮助我理解该做什么以及如何做 任何帮助都将不胜感激。使用HTMLAgilit

我正在尝试创建一个应用程序,您可以在其中输入一个web url(
http://www.explosm.net/comics/3104/它会自动保存一个字符串,其中包含给定xpath的第一个链接(
/*[@id=“maincontent”]/div[2]/div[2]/div[1]/img),这是我要下载的图片

我真的不知道从哪里开始。我已经尝试了
HtmlAgilityPack
WebBrowser
类,但是我找不到任何东西来帮助我理解该做什么以及如何做

任何帮助都将不胜感激。

使用HTMLAgilityPack非常简单

变量
src
的值为
http://www.explosm.net/db/files/Comics/Matt/Dont-be-a-dickhead.png

然后,您只需下载图像:

var request = (HttpWebRequest)WebRequest.Create(src);
var response = request.GetResponse();

var stream = response.GetResponseStream();

//Here you have an Image object
Image img = Image.FromStream(stream);

//And you can save it or do whatever you want
img.Save(@"C:\file.png");

htmlagilitypack应该可以正常工作。你对htmlagilitypack有什么问题?哇。这看起来非常简单。非常感谢。:)关于HTMLAgilityPack的快速问题。我下载了1.4.6版本,其中丢失了许多不同的子文件夹。我应该用哪一个?(net20、net40、net40客户端、net45、sl3等)取决于您在项目中使用的框架版本。Ohhh ok。我使用的是版本4,你给我的代码非常完美。非常感谢您的帮助。:)
var request = (HttpWebRequest)WebRequest.Create(src);
var response = request.GetResponse();

var stream = response.GetResponseStream();

//Here you have an Image object
Image img = Image.FromStream(stream);

//And you can save it or do whatever you want
img.Save(@"C:\file.png");