HTML Agility Pack получает все поля ввода

c# html-agility-pack

Вопрос

Я нашел некоторый код в Интернете, который находит все теги 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");

Пожалуйста, может кто-то мне помочь, я не могу найти информацию об этом в Интернете :(.

Принятый ответ

Измените селектор XPath на //input чтобы выбрать все входные узлы:

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

Популярные ответы

Ваш текущий код выбран все элементы (которые имеют a href атрибута): "//a[@href]" .

Вы хотите, чтобы он выбрал все input элементы: "//input" .

Конечно, внутренняя часть цикла должна измениться в соответствии с тем, что вы ищете.

Я предлагаю вам ознакомиться с XPath .



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow