HtmlAgilityPack'''字符,十六进制值0x22,不能包含在名称中

.net html html-agility-pack vb.net

这一行:

    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" ); };

一般承认的答案

那是因为XDocument意味着处理XML,因此它不支持任意Javascript字符串。 XDocument认为这部分: <scr" ,作为XML节点的开头,XML节点名称中的双引号( " )字符被认为是无效的。

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

htmldoc.Save("path_to_new_file.html")


许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因