使用HTML敏捷性剥离HTML标记但保留内部文本?
我试图去掉一些HTML标签。我有一个项目,其中的人保存了一些搜索。问题是关键词被突出显示了。比如说使用HTML敏捷性剥离HTML标记但保留内部文本?,html,html-agility-pack,Html,Html Agility Pack,我试图去掉一些HTML标签。我有一个项目,其中的人保存了一些搜索。问题是关键词被突出显示了。比如说 <p>Here is some <span class='highlite'>awesome</span> example.</p> 但结果是,文本节点,文本节点,文本节点。我想要一个文本节点。然后我试着用 Node.InnerText += someVariable; 但是InnerText,不管文档上说什么,都是只读的 有什么办法吗 第二,当
<p>Here is some <span class='highlite'>awesome</span> example.</p>
但结果是,文本节点,文本节点,文本节点。我想要一个文本节点。然后我试着用
Node.InnerText += someVariable;
但是InnerText,不管文档上说什么,都是只读的
有什么办法吗
第二,当我询问时,是否有一种方法可以去除只包含文本的节点,并且它是\r\n。我对这一点都不感兴趣,它只是妨碍了我,让解析变得很尴尬。我希望能够删除这些太。比如说
<tr>
<td>Foo</td>
<td>Bar</td>
</tr>
我正在努力选择那些节点。我试过使用Linq,也试过使用XPath。我似乎无法删除它们。如果只获取p标记的内部文本,并创建一个单独的文档树来保存它会怎么样
var root = HtmlNode.CreateNode("<root></root>");
foreach (var node in doc.DocumentNode.SelectNodes("/p"))
{
var newNode = HtmlNode.CreateNode(string.Format("<p>{0}</p>", node.InnerText));
root.AppendChild(newNode);
}
这有用吗 如果只获取p标记的InnerText,并创建一个单独的文档树来保存它会怎么样
var root = HtmlNode.CreateNode("<root></root>");
foreach (var node in doc.DocumentNode.SelectNodes("/p"))
{
var newNode = HtmlNode.CreateNode(string.Format("<p>{0}</p>", node.InnerText));
root.AppendChild(newNode);
}
这有用吗
Node (tr)
Node (\r\n)
Node (td- Foo)
Node (\r\n)
Node (td - Bar)
Node (\r\n)
Node (tr)
var root = HtmlNode.CreateNode("<root></root>");
foreach (var node in doc.DocumentNode.SelectNodes("/p"))
{
var newNode = HtmlNode.CreateNode(string.Format("<p>{0}</p>", node.InnerText));
root.AppendChild(newNode);
}