HtmlAgilityPack El carácter '"', valor hexadecimal 0x22, no se puede incluir en un nombre

.net html html-agility-pack vb.net

Pregunta

Esta línea:

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

Produce este error:

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

Esta es la línea en el HTML que dice es incorrecta:

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

Respuesta aceptada

Esto se debe a que XDocument pretendía tratar con XML, por lo tanto, no admite cadenas de Javascript arbitrarias. XDocument piensa que esta parte: <scr" , como el comienzo de un nodo XML y el carácter de comillas dobles ( " ) en el nombre del nodo XML se considera no válido.

Estaba usando XDocument en la respuesta a su pregunta anterior para obtener una salida XML bellamente formateada en la consola, y lo hice porque sé exactamente que mi HTML es compatible con XML. En este caso, su HTML no es válido desde el punto de vista de XML y no está claro lo que está tratando de lograr utilizando XDocument aquí. Si simplemente necesita verificar el resultado de la modificación que realizó en el HTML original, puede imprimir directamente htmldoc.DocumentNode.OuterHtml para la consola o guardar el HTML en un archivo nuevo, como por ejemplo:

htmldoc.Save("path_to_new_file.html")



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué