C#:使用HTMLAgilityPack查找HTML属性并替换值

时间:2012-10-09 23:42:40

标签: html dom html-agility-pack

您好我正在尝试如何使用正则表达式使用HTMLAgilityPack Vs(不确定哪个更贵)。我的问题ID与HTMLAgilityPack我能够提取所需的属性,并用一个新的替换它;但是,我似乎无法更新原始文本。这是代码;

string input = @"<area shape=""rect"" coords=""0,0,82,126"" href=""one"" alt=""Sun""> <area shape=""rect"" coords=""0,0,82,126"" href=""two"" alt=""Sun"" > <area shape=""rect"" coords=""0,0,82,126"" href=""Three"" alt=""Sun"" >";

HtmlDocument document = new HtmlDocument();
document.LoadHtml(input);

HtmlNodeCollection nodes = document.DocumentNode.SelectNodes("//area");

for (int i = 0; i < nodes.Count; i++ )
{
    HtmlNode node = nodes[i];
    var href = node.Attributes["href"].Value;
    //Reassigning href value
    node.Attributes["href"].Value="Re-Assign ["+i+"]";
}

现在我想让它反映在原来的“输入”变量中。知道怎么办吗?

由于

2 个答案:

答案 0 :(得分:1)

我也正在尝试如何使用Agility Pack。试试:

String HTML = nodes.DocumentNode.WriteTo();

您需要在原始文本中写下更新。

答案 1 :(得分:0)

您错过了doc.Save(yourFileName);