0

嗨,我正在尝试如何使用 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+"]";
}

现在我想让它反映在原始的“输入”变量中。知道如何进行吗?

谢谢

4

2 回答 2

2

我也在试验如何使用敏捷包。尝试:

String HTML = nodes.DocumentNode.WriteTo();

您需要将更新写在原文中。

于 2012-10-16T21:37:29.040 回答
0

你失踪了doc.Save(yourFileName);

于 2012-10-30T14:43:24.587 回答