Ich weiß, dass HTML-Dokumente mit dem HTML-Agility-Paket einfach Elemente und Attribute hinzugefügt werden können. Aber wie kann ich einen Doctype (z. B. den HTML5) zu einem HtmlDocument mit dem HTML Agility Pack hinzufügen? DankeHinzufügen eines Doctyps zu HTML über HTML-Agility-Paket
6
A
Antwort
6
Der Html Agility Pack-Parser behandelt den Doctype als Kommentarknoten. Um eine Doctype ein HTML-Dokument fügen Sie einfach einen Kommentarknoten mit dem gewünschten Doctype zu Beginn des Dokuments hinzuzufügen:
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");
Bitte beachten Sie, dass mein Code für die bestehende eines Doctype nicht überprüft .
8
Soweit ich weiß, AgilityPack hat keine direkte Methode, um den Doctype, aber wie Hans erwähnt, HAP behandelt den Doctype als Kommentar-Knoten. So könnten Sie versuchen, zuerst die vorhandene Doctype zu finden, wenn nicht eine neue erstellen und einen gewünschten Wert dort einfügen:
var doctype = doc.DocumentNode.SelectSingleNode("/comment()[starts-with(.,'<!DOCTYPE')]");
if (doctype == null)
doctype = doc.DocumentNode.PrependChild(doc.CreateComment());
doctype.InnerHtml = "<!DOCTYPE html>";
Verwandte Themen
- 1. Hinzufügen eines Divider zu einer HTML-Tabellenstruktur
- 2. Hinzufügen eines Excel-Blattes zu einer HTML-Seite
- 3. Hinzufügen eines benutzerdefinierten HTML-Helpers zu MVC-Projekt
- 4. HTML/CSS - Hinzufügen eines Symbols zu einer Schaltfläche
- 5. Höhe eines HTML-Elements über CSS zurücksetzen
- 6. Ereignis zu Dynamic HTML hinzufügen
- 7. PHP zu HTML-Datei hinzufügen
- 8. Hinzufügen von HTML zu Vollkalender
- 9. Maven: Hinzufügen eines Testverzeichnisses über die Befehlszeile
- 10. Hinzufügen eines Ersatzschlüssels zu Faktentabellen?
- 11. Hinzufügen von benutzerdefinierten HTML-Tags zu Intellij?
- 12. Hinzufügen eines Eintrags zu OpenLDAP
- 13. Html/Javascript: Hinzufügen von Attribut zu einem HTML-Steuerelement
- 14. Problem beim Hinzufügen eines Pakets zu Dojo
- 15. HTML-String zu OpenXML (* .docx) hinzufügen Dokument
- 16. Hinzufügen eines Argument zu Dekorateur
- 17. Hinzufügen eines Hilfsmoduls zu Rspec
- 18. Hinzufügen eines Befehls zu Vim
- 19. Hinzufügen eines Kontextmenüs zu OpenFileDialog
- 20. Hinzufügen eines Namespaces zu Elementen
- 21. Hinzufügen eines Präfix zu Spaltennamen
- 22. Hinzufügen eines Rechtecks zu ListBox
- 23. Hinzufügen eines Zurückpfeils zu leftBarButtonItem?
- 24. Hinzufügen eines CALayer zu MKOverlayRenderer?
- 25. Hinzufügen eines Bildes zu UITabBar
- 26. Hinzufügen eines Pfad zu AC_CHECK_LIB
- 27. Hinzufügen eines Werts zu Sammlungselementen
- 28. Html Bild über Bild
- 29. Hinzufügen eines Feldes zu einem Formular (jQuery)
- 30. Hinzufügen eines neuen Referenzblocks zu Magento
Seit 'DOCTYPE' mit einer beliebigen Mischung aus oberen und unteren, Fall geschrieben werden kann, vielleicht'/comment() [starts-with (Kleinbuchstaben (.), '