null 참조 오류가 발생하지 않고 HtmlAgilityPack으로 양식 입력을 얻는 방법?

c# html html-agility-pack

문제

아래 양식 HTML에서 <br> 다음에 두 번째 입력 노드 집합을 추출하려면 어떻게합니까?

다음을 시도 할 때 입력 노드가 없습니다.

HtmlNode.ElementsFlags.Remove("form");
HtmlNode formNode = doc.DocumentNode.SelectNodes("//form")[0];
foreach (HtmlNode innode in formNode.Elements("input"))
{
 ...
}

HTML

HtmlNode.ElementsFlags.Remove("form");
HtmlNode formNode = doc.DocumentNode.SelectNodes("//form")[0];
foreach (HtmlNode innode in formNode.Elements("input"))
{
 ...
}

수락 된 답변

문서를로드하기 전에 HtmlNode.ElementsFlags.Remove("form") 호출 하십시오. 다음은 잘 작동합니다.

public static void Main()
{
    HtmlNode.ElementsFlags.Remove("form");

    var doc = new HtmlDocument();
    doc.Load("HtmlPage1.html");

    HtmlNode formNode = doc.DocumentNode.SelectNodes("//form")[0];
    foreach (HtmlNode innode in formNode.Elements("input"))
    {
        Console.WriteLine(innode.OuterHtml);
    }

    Console.WriteLine("Press Enter to exit...");
    Console.ReadLine();
}



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.