Donc, je génère du HTML en utilisant HtmlAgilityPack et ça fonctionne parfaitement, mais le texte html n'est pas indenté. Je peux cependant obtenir du XML en retrait, mais j'ai besoin de HTML. Y a-t-il un moyen?HtmlAgilityPack: comment créer du HTML indenté?
HtmlDocument doc = new HtmlDocument();
// gen html
HtmlNode table = doc.CreateElement("table");
table.Attributes.Add("class", "tableClass");
HtmlNode tr = doc.CreateElement("tr");
table.ChildNodes.Append(tr);
HtmlNode td = doc.CreateElement("td");
td.InnerHtml = "—";
tr.ChildNodes.Append(td);
// write text, no indent :(
using(StreamWriter sw = new StreamWriter("table.html"))
{
table.WriteTo(sw);
}
// write xml, nicely indented but it's XML!
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
using (XmlWriter xw = XmlTextWriter.Create("table.xml", settings))
{
table.WriteTo(xw);
}
On dirait que c'est vrai, besoin d'une autre lib pour résoudre une telle tâche simple. HtmlAgilityPack a sûrement besoin de cette amélioration mineure. –
Donc, il n'y a aucun moyen de ne pas cracher HTML réduit au minimum? (ie le HTML qui sort du pack d'agilité n'est pas lisible, tout est condensé sur une ligne, il n'y a pas moyen d'insérer des sauts de ligne ou des tabulations juste pour le rendre lisible?) – BrainSlugs83