Sé que es fácil agregar elementos y atributos a los documentos HTML con el paquete de agilidad HTML. Pero, ¿cómo puedo agregar un doctype (por ejemplo, el HTML5) a un HtmlDocument con el paquete de agilidad html? GraciasAgregue un doctype a HTML a través del paquete HTML Agility
6
A
Respuesta
6
El analizador Html Agility Pack trata el doctype como un nodo de comentario. Con el fin de añadir un tipo de documento a un documento HTML, simplemente añadir un nodo comentario con el tipo de documento deseado al principio del documento:
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.Load("withoutdoctype.html");
HtmlCommentNode hcn = htmlDoc.CreateComment("<!DOCTYPE html>");
HtmlNode htmlNode = htmlDoc.DocumentNode.SelectSingleNode("/html");
htmlDoc.DocumentNode.InsertBefore(hcn, htmlNode);
htmlDoc.Save("withdoctype.html");
Tenga en cuenta, que mi código no comprueba la existencia de un tipo de documento .
8
Por lo que sé, AgilityPack no tiene un método directo para establecer el tipo de documento, pero como mencionó Hans, HAP trata al tipo de documento como un nodo de comentario. Así que se podría tratar de encontrar el tipo de documento existente en primer lugar, si no crear uno nuevo y pegar un valor deseado:
var doctype = doc.DocumentNode.SelectSingleNode("/comment()[starts-with(.,'<!DOCTYPE')]");
if (doctype == null)
doctype = doc.DocumentNode.PrependChild(doc.CreateComment());
doctype.InnerHtml = "<!DOCTYPE html>";
Cuestiones relacionadas
- 1. HTML Agility Pack
- 2. Html Agility Pack ayuda
- 3. Html Agility Pack: Buscar Nodo de comentario
- 4. HTML Agility Pack Seleccionar nodos
- 5. HTML Agility Pack HtmlDocument ¿Mostrar todo Html?
- 6. C# Html Agility Pack (SelectSingleNode)
- 7. obtener clics a través del lienzo html
- 8. Reemplazar una etiqueta div HTML InnerText usando HTML Agility Pack
- 9. Doctype, HTML 5
- 10. ¿Puedo usar Html Agility Pack para esto?
- 11. HTML Agility pack - tablas de análisis
- 12. Obtener contenido entre dos etiquetas HTML usando Html Agility Pack
- 13. HTML DOCTYPE error de sintaxis
- 14. Cómo acelerar DTD carga a través DOCTYPE
- 15. HTML 5 Doctype causando peculiaridad?
- 16. HTML Agility Pack: seleccione nodos después del nodo específico
- 17. HTML agility pack create new HTMLNode
- 18. HTML Doctype Configuración/Modo Peculiaridades IE
- 19. Actualizando HTML a través de JSON/AJAX
- 20. ¿Es seguro simplemente cambiar la página web doctype HTML 4.01 o XHTML 1.0 a doctype HTML5?
- 21. Obtener DocType de un HTML como cadena con Javascript
- 22. Photoshop en línea a través del lienzo de HTML 5?
- 23. HTML/CSS: texto "Ver a través del fondo"
- 24. Qué doctype usar al generar correo HTML
- 25. Parse HTML a través de XPath
- 26. ¿Cómo uso HTML Agility Pack para editar un fragmento de HTML?
- 27. Huelga a través de correos electrónicos HTML
- 28. HTML Datos del formulario a través de PHP
- 29. Cambiar URL a través de html seleccionar
- 30. Extraer texto interno del nodo HTML BODY con Html Agility Pack
Desde 'DOCTYPE' se puede escribir con cualquier combinación de letras mayúsculas y minúsculas, tal vez'/comment() [starts-with (minúsculas (.), '