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 クラスにメソッドがあると思います

SetAttributeValue

これを使用して、新しい値を保存できます。

値を設定すると、変更された html コンテンツにアクセスできます。

node.DocumentNode.OuterHtml
于 2012-05-02T09:50:58.040 に答える