如何将HtmlNode及其所有后代序列化为HTML

时间:2014-09-27 05:00:25

标签: c# html-agility-pack

我正在使用Html Agility Pack从HTML源中提取信息。

我发现这样的HtmlHode:

doc.DocumentElement.SelectNodes("//div[@id='toc']"]

我的问题是,有没有办法将HtmlNode及其所有后代序列化为HTML字符串?

如果有办法输出TEXT节点的后代?

1 个答案:

答案 0 :(得分:0)

您可以从OuterHtml属性

访问HTML标记
var nodes = doc.DocumentElement.SelectNodes("//div[@id='toc']");
foreach(HtmlNode node in nodes)
{
    string html = node.OuterHtml;
    .....
}

关于最后一个问题,我不清楚输出文本节点后代的含义。如果您的意思是XPath的string()函数所做的事情(返回所有文本节点后代的连接字符串),您可以尝试InnerText属性(请澄清,如果结果这不是您之后的功能)。 我担心在库中没有内置方法可以做到这一点。您需要编写自己的方法/代码才能实现这一目标。