【发布时间】:2014-12-14 18:40:08
【问题描述】:
假设我有以下 HTML
<p>Peter Piper picked a pack of <b>pickled</b> peppers</p>
我想使用 HTML Agility Pack 处理它,将每个 p 转换为 div 并将每个 b 转换为 strong。
我知道如何处理所有p标签,
foreach(var p in doc.DocumentNode.SelectNodes("//p"))
{
var p_text = p.innerText;
// do something with p.innerText;
}
我什至如何处理我的p 标签中的b 标签
foreach(var p in doc.DocumentNode.SelectNodes("//p"))
{
var p_text = p.innerText;
// do something with p.innerText;
foreach(var b in p.Descendants().Where(x => x.Name == "b"))
{
// do something with b;
}
}
但这就是我难过的地方。 p 的 innerText 和我的 b 节点集合是分开的。如何处理b 标记,以使它们保持在我的“p”节点中的正确位置?
我真的只是想从架构的角度了解如何解决这个问题
PS:抱歉,如果我的代码中有错误,我只是从记忆中做的一个例子。
【问题讨论】:
标签: c# html html-agility-pack