HTMLAgilityPack选择注释之间的节点

ste*_*eve 8 c# comments html-agility-pack

我正在替换一些与特定小部件相关的头部脚本.我希望能够在评论之间找到与该小部件相关的所有节点.此外,我想轻松删除任何与指定小部件相关的代码(包括开始和结束注释).

插入和删除的代码将如下所示:

<!-- WidgetScript_WidgetName -->

  <script src="Widgets/jquery.somecode.js" type="text/javascript"></script>
  <script type="text/javascript">   
    $(function () {
        $('.someid).dothis({parameter, avatar_size: 48, count: 6});
      });
    </script>
    <link href="Widgets/jquery.somecode.css" media="all" rel="stylesheet" type="text/css"/> 

<!--WidgetScript_WidgetName End-->
Run Code Online (Sandbox Code Playgroud)

jda*_*ies 10

尝试使用以下内容:

var startNode = document.DocumentNode.SelectSingleNode("//comment()[contains(., 'WidgetScript_WidgetName')]");
var endNode = document.DocumentNode.SelectSingleNode("//comment()[contains(., 'WidgetScript_WidgetName End')]");
int startNodeIndex = startNode.ParentNode.ChildNodes.IndexOf(startNode);
int endNodeIndex = endNode.ParentNode.ChildNodes.IndexOf(endNode);

var nodes = startNode.ParentNode.ChildNodes.Where((n, index) => index >= startNodeIndex && index <= endNodeIndex).Select(n => n);
Run Code Online (Sandbox Code Playgroud)