<p>Here is some <span class='highlite'>awesome</span> example.</p>
Html敏捷性将此转换为3个节点。文本节点、跨距和文本。我想用这个创建一个标签。所以看起来像
<p>Here is some awesome example.</p>
//Stip all retarded hilite tags
var hiliteTags = from tags in doc.DocumentNode.SelectNodes("//span[@class='hilite']")
select tags;
foreach (var tag in hiliteTags)
{
tag.ParentNode.RemoveChild(tag, true);
}
但结果是,文本节点,文本节点,文本节点。我想要一个文本节点。然后我试着用
Node.InnerText += someVariable;
但是内部文本,不管文档上说什么是只读的。
有什么办法吗?
第二,当我问的时候,有没有一种方法可以去掉只包含文本的节点,而且它是一个节点。我对此一点都不感兴趣,它只是妨碍了解析,使解析变得很尴尬。我也希望能把它们移走。例如
<tr>
<td>Foo</td>
<td>Bar</td>
</tr>
Node (tr)
Node (\r\n)
Node (td- Foo)
Node (\r\n)
Node (td - Bar)
Node (\r\n)
Node (tr)
我正在努力选择这些节点。我试过使用Linq,也试过使用XPath。我只是不能把它们移走。