HTMLページを取得するために使用している次のコードがあります。URLを絶対にしてから、リンクをrel nofollowにして、新しいウィンドウ/タブで開きます。私の問題は、属性を<a>
s に追加することです。
string url = "http://www.mysite.com/";
string strResult = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if ((request.HaveResponse) && (response.StatusCode == HttpStatusCode.OK)) {
using (StreamReader sr = new StreamReader(response.GetResponseStream())) {
strResult = sr.ReadToEnd();
sr.Close();
}
}
HtmlDocument ContentHTML = new HtmlDocument();
ContentHTML.LoadHtml(strResult);
HtmlNode ContentNode = ContentHTML.GetElementbyId("content");
foreach (HtmlNode node in ContentNode.SelectNodes("/a")) {
node.Attributes.Append("rel", "nofollow");
node.Attributes.Append("target", "_blank");
}
return ContentNode.WriteTo();
誰かが私が間違っていることを見ることができますか? ここでしばらく試してみましたが、運がありませんでした。このコードは、 ContentNode.SelectNodes("/a") がオブジェクトのインスタンスに設定されていないことを示しています。蒸気を0に設定してみますか?
乾杯、デニス