我在 C# 项目中使用 CsQuery。作为一个简单的例子,我有一个 p-Tag,其中有一个嵌套的 b-Tag:
<p>Lorem ipsum dolor sit amet, sanctus <b>TEST</b> Lorem ipsum dolor sit amet.</p>
我需要使用另一种方法 (louis()) 修改每个标签中的纯文本,即 p-Tag 和 b-Tag 内的文本:
IDomObject htmlelement = dom.Get(i);
if (!(htmlelement.FirstElementChild == null))
{
string test = htmlelement.InnerHTML;
//test: Lorem ipsum dolor sit amet, sanctus <b>TEST</b> Lorem ipsum dolor sit amet.
STDIN = htmlelement.FirstElementChild.InnerText;
OUTPUT = louis(command, param, STDIN);
htmlelement.FirstElementChild.InnerText = OUTPUT;
STDIN = htmlelement.InnerText;
OUTPUT = louis(command, param, STDIN);
htmlelement.InnerText = OUTPUT;
test = htmlelement.InnerHTML;
//test now loses the nested <b>TEST</b>
//test: Lorem ipsum dolor sit amet, sanctus Lorem ipsum dolor sit amet.
}
当我尝试(仅)用新文本替换 p-Tag 内的文本时,嵌套的 b-Tag 会丢失。我该如何防止这种情况发生,我确信有更好的方法来操作嵌套元素,因为它是一个强大的框架。我只是还没有弄清楚。