所以,我使用HtmlAgilityPack生成html并且它工作正常,但是html文本没有缩进.我可以得到缩进的XML,但我需要HTML.有办法吗?
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);
}
Run Code Online (Sandbox Code Playgroud) 我尝试使用HtmlAgilityPack以下列方式解析HTML:
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(xhtmlString);
Run Code Online (Sandbox Code Playgroud)
不幸的是,xhtmlString包含不必要的空格和换行符,所以htmlDoc的_text现在看起来像这样:
<html xmlns=\"http://www.w3.org/1999/xhtml\">\n\t<head></head>\n\t<body>\n\n<p>Alle Auktionen<br /></p>\n\n\t</body>\n</html>
在使用身体的子元素时,这对我来说是个问题.
删除这些不必要字符的最简单方法是什么?
HtmlAgilityPack是否提供某种功能来清除新行和标签中的HTML?
我正在使用html agility pack来解析html 表格信息.现在有一些html内容缺少结束标记,并且由于缺少结束标记而来自此页面html agility pack不能正确解析信息.所以我想在缺少结束标记的地方插入结束标记,以便html敏捷包正确解析信息.所以要插入缺少的结束标记我该怎么办?我应该为此编写自己的代码还是使用html tidy pack来做到这一点?
如果html整洁包然后哪个是最好的html整洁包,如果可能的话如何使用它的任何示例?如果我自己的代码比它可能是什么样的?
在html agility pack中是否有任何选项可以让我们首先使html页面整洁,然后解析网页.
是否可以删除C#中以下HTML字符串中的所有空格:
"
<html>
<body>
</body>
</html>
"
Run Code Online (Sandbox Code Playgroud)
谢谢