我有以下代码,用于获取HTML页面。将URL转为绝对路径,然后将链接设置为rel nofollow并在新窗口/标签中��开。我的问题在于如何添加属��到标签。 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") 没有被设置为一个对象的实例。我想尝试将 steam 设置为 0? 谢谢, 丹尼斯
ContentNode是否为空?你可能需要使用查询"//*[@id='content']"来选择单个节点。 对于信息,"/a"表示根目录下的所有锚点。"descendant::a"是否有效?还有HtmlElement.GetElementsByTagName可能更容易使用,例如yourElement.GetElementsByTagName("a")。