HTML Agility Pack获取所有输入字段

4
我在网上找到了一些代码,可以找到所有的 href 标签并将它们更改为 google.com,但是我该如何让代码找到所有的 input 字段并在其中放置自定义文本呢?
这是我目前拥有的代码:
HtmlDocument doc = new HtmlDocument();
doc.Load(path);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
    HtmlAttribute att = link.Attributes["href"];
    att.Value = "http://www.google.com";
}
doc.Save("file.htm");

请问有人能帮我吗?我在网上找不到任何关于这个的信息 :(。

2个回答

6

将XPath选择器更改为//input,以选择所有输入节点:

foreach (HtmlNode input in doc.DocumentNode.SelectNodes("//input"))
{
    HtmlAttribute att = input.Attributes["value"];
    att.Value = "some text";
}

哦,我现在明白了,我真的很接近了 >.<,谢谢! - Yuki Kutsuya
它将找到那些短格式的输入元素吗?例如<input .... />。 - L. Kvri

2

您当前的代码选择了所有具有 href 属性的 a 元素:"//a[@href]"

您希望它选择所有 input 元素:"//input"

当然,循环的内部部分需要更改以匹配您要查找的内容。

我建议您阅读有关 XPath 的资料。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接