我正在使用HTMLAgilityPack,并且正在使用标准操作过程来加载文档并选择一个节点。但是,当我去查看该节点时,所有的aspx控件都是小写的。有没有办法以适当的方式获取它?例如,当我查看<asp:RequiredFieldValidator时,它以<asp:requiredfieldvalidator的形式返回。这将无法正常工作,因为我正在大量更新控件。

        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

        doc.Load(@"C:\my.ascx");
        HtmlNodeCollection node_collection = doc.DocumentNode.SelectNodes("//div");
foreach (HtmlNode node in node_collection)
        {
           templateString = node.InnerHtml; //lower case happens here.....
        }


有人吗

最佳答案

您只需要在OptionOutputOriginalCase之前将true设置为Load

var doc = new HtmlAgilityPack.HtmlDocument();
doc.OptionOutputOriginalCase = true;

doc.LoadHtml("<html><asp:RequiredFieldValidator></asp:RequiredFieldValidator></html>");

var html = doc.DocumentNode.InnerHtml;

关于c# - C#htmlagilitypack Node.InnerHTML不正确区分大小写,如何拉正确大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18597800/

10-12 12:36