1

我需要更改很多页面的 css,所以我借此机会玩了 AgilityHTML,我可以阅读我必须更改的 css 条目,但我不知道如何更改它的 href。

这是我想要更改的示例:

<link rel="stylesheet" type="text/css" href="http://cdn.mysite.com/master/public.css?rev=012010">

更具体的href:

http://cdn.mysite.com/master/public.css?rev=012010

我环顾四周,但还没有找到答案。

var nodes = doc.DocumentNode.SelectNodes("//css[@type=\"text/css\"]");
if (nodes != null)
{
    foreach (HtmlNode data in nodes)
    {
        if (data.Attributes["href"] == null)
            continue;

        //data.Attributes["href"].Value;
    }
}

恢复:

我怎样才能更改href并将其保存回来?

4

2 回答 2

2
data.Attributes["href"].Value = "Whatever you want";
...
...
doc.Save(stream);
// or:
string content = doc.DocumentNode.OuterHtml;
于 2012-05-02T10:22:06.437 回答
0

尝试跟随,

var nodes = doc.DocumentNode.SelectNodes("//css[@type='text/css']");

它将正确选择节点。

我猜 HtmlNode 类上有一个方法叫做

设置属性值

您可以使用它来保存新值。

设置值后,您可以使用访问更改的 html 内容

node.DocumentNode.OuterHtml
于 2012-05-02T09:50:58.040 回答