Diese Linie:
Dim NewHTMLString As String = XDocument.Parse(htmldoc.DocumentNode.OuterHtml).ToString()
Erzeugt diesen Fehler:
The '"' character, hexadecimal value 0x22, cannot be included in a name.
Dies ist die Zeile im HTML-Code, die falsch ist:
if ( typeof JSON != 'object' || !JSON.stringify || !JSON.parse ) { document.write( "<scr" + "ipt type=\"text\/javascript\" src=\"http:\/\/blahblah"><\/script>\n" ); };
Das liegt daran, dass XDocument
für den Umgang mit XML gedacht war und daher keine Javascript-Zeichenketten unterstützt. XDocument
denkt über diesen Teil nach: <scr"
, da der Beginn eines XML-Knotens und das doppelte Anführungszeichen ( "
) im XML-Knotennamen als ungültig betrachtet werden.
Ich habe XDocument
in der Antwort auf Ihre vorherige Frage verwendet , um schön formatierte XML-Ausgaben in der Konsole zu erhalten, und ich habe das getan, weil ich genau weiß, dass mein HTML XML-konform ist. In diesem Fall ist Ihr HTML aus XML-Sicht nicht gültig und es ist nicht klar, was Sie hier mit XDocument
erreichen XDocument
. Wenn Sie das Ergebnis einfach überprüfen müssen, indem Sie Änderungen am ursprünglichen HTML vorgenommen haben, können Sie htmldoc.DocumentNode.OuterHtml
entweder direkt drucken oder den HTML- htmldoc.DocumentNode.OuterHtml
wie htmldoc.DocumentNode.OuterHtml
in einer neuen Datei speichern:
htmldoc.Save("path_to_new_file.html")