【问题标题】:HtmlAgilityPack The '"' character, hexadecimal value 0x22, cannot be included in a nameHtmlAgilityPack '"' 字符,十六进制值 0x22,不能包含在名称中
【发布时间】:2014-08-16 01:27:43
【问题描述】:

这一行:

    Dim NewHTMLString As String = XDocument.Parse(htmldoc.DocumentNode.OuterHtml).ToString()

产生这个错误:

    The '"' character, hexadecimal value 0x22, cannot be included in a name.

这是 HTML 中说错的那一行:

    if ( typeof JSON != 'object' || !JSON.stringify || !JSON.parse ) { document.write( "<scr" + "ipt type=\"text\/javascript\" src=\"http:\/\/blahblah"><\/script>\n" ); };

【问题讨论】:

    标签: html .net vb.net html-agility-pack


    【解决方案1】:

    那是因为XDocument 是用来处理 XML 的,所以它不支持任意的 Javascript 字符串。 XDocument 认为这部分:&lt;scr",作为 XML 节点的开头和 XML 节点名称中的双引号 (") 字符被视为无效。

    我在回答your previous question 时使用XDocument 在控制台中获得格式精美的XML 输出,我这样做是因为我确切地知道我的HTML 是兼容XML 的。在这种情况下,从 XML 的角度来看,您的 HTML 无效,并且不清楚您在此处使用 XDocument 想要实现什么。如果您只需要检查对原始 HTML 所做修改的结果,您可以直接将 htmldoc.DocumentNode.OuterHtml 打印到控制台或将 HTML 保存到新文件,如下所示:

    htmldoc.Save("path_to_new_file.html")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      相关资源
      最近更新 更多