HtmlAgilityPack Le caractère '"', valeur hexadécimale 0x22, ne peut pas être inclus dans un nom.

.net html html-agility-pack vb.net

Question

Cette ligne:

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

Produit cette erreur:

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

Ceci est la ligne dans le HTML qu'il dit est incorrecte

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

Réponse acceptée

Cela est dû au fait que XDocument était destiné à traiter du XML, il ne supporte donc pas les chaînes Javascript arbitraires. XDocument considère cette partie: <scr" , le début d’un nœud XML et le caractère guillemet double ( " ) dans le nom du nœud XML sont considérés comme non valides.

J'utilisais XDocument dans la réponse à votre question précédente pour obtenir une sortie XML superbement formatée dans la console, et je l'ai fait parce que je sais exactement que mon code HTML est compatible XML. Dans ce cas, votre code HTML n'est pas valide du point de vue XML et le but que vous essayez d'atteindre à l'aide de XDocument n'est pas clair. Si vous devez simplement vérifier le résultat de la modification apportée au code HTML d'origine, vous pouvez directement imprimer htmldoc.DocumentNode.OuterHtml sur console ou enregistrer le code HTML dans un nouveau fichier, comme htmldoc.DocumentNode.OuterHtml :

htmldoc.Save("path_to_new_file.html")


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi