使用HTMLAgilityPack c#按类名删除元素

使用HTMLAgilityPack c#按类名删除元素,第1张

概述我正在使用html敏捷包将我的html文档的内容读成字符串等.完成后,我想删除其内容中的certian元素,但是我遇到了问题. 我的Html看起来像这样: <div id="wrapper"> <div class="maincolumn" > <div class="breadCrumbContainer"> <div class="breadCr 我正在使用HTML敏捷包将我的HTML文档的内容读成字符串等.完成后,我想删除其内容中的certian元素,但是我遇到了问题.

我的Html看起来像这样:

<div ID="wrapper">    <div  >        <div >            <div >            </div>        </div>        <div >            <div >header</div>        </div>Content goes here...</div>

现在,我使用了一个xpath选择器来获取其中的所有内容,并使用了INNERHTML属性,如下所示:

node = doc.documentNode.SelectSingleNode("//div[@ID='wrapper']");            if (node != null)            {                pageContent = node.INNERHTML;            }

从这一点来说,我想删除带有“breadCrumbContainer”类的div,但是当使用下面的代码时,我收到错误:在集合中找不到“Node”“

node = doc.documentNode.SelectSingleNode("//div[@ID='wrapper']");            node = node.RemoveChild(node.SelectSingleNode("//div[@class='breadCrumbContainer']"));            if (node != null)            {                pageContent = node.INNERHTML;            }

有人可以对此有所了解吗?我对Xpath很新,对HTMLAgility库来说真的很陌生.

谢谢,

戴夫

解决方法 这是因为RemoveChild只能删除一个直接的孩子,而不是一个大孩子.试试这个:
HTMLNode node = doc.documentNode.SelectSingleNode("//div[@class='breadCrumbContainer']");    node.parentNode.RemoveChild(node);
总结

以上是内存溢出为你收集整理的使用HTMLAgilityPack c#按类名删除元素全部内容,希望文章能够帮你解决使用HTMLAgilityPack c#按类名删除元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1249654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存