zoukankan      html  css  js  c++  java
  • HtmlAgilityPack 删除script、style以及注释标签

    foreach(var script in doc.DocumentNode.Descendants("script").ToArray())
        script.Remove();
    foreach(var style in doc.DocumentNode.Descendants("style").ToArray())
        style.Remove();
    
    foreach (var comment in doc.DocumentNode.SelectNodes("//comment()").ToArray())
        comment.Remove();//新增的代码
    
    string innerText = doc.DocumentNode.InnerText;

    解释:HtmlAgilityPack是使用XPath语法,"//comment()"在XPath中表示“所有注释节点”,关于XPath的详细用法请参考XPath的资料。

    其他可能有用的技术点:
    1、获取网页title:doc.DocumentNode.SelectSingleNode("//title").InnerText;
    解释:XPath中“//title”表示所有title节点。SelectSingleNode用于获取满足条件的唯一的节点。


    2、获取所有的超链接:doc.DocumentNode.Descendants("a")


    3、获取name为kw的input,也就是相当于getElementsByName():
                var kwBox = doc.DocumentNode.SelectSingleNode("//input[@name='kw']");

    解释:"//input[@name='kw']"也是XPath的语法,表示:name属性等于kw的input标签。

  • 相关阅读:
    【实践】mysql数据库表设计及存储过程设计
    # Java类链接模型
    java gc
    Spring Data Jpa
    Spring Security
    Amazon SQS 消息队列服务
    JMS概述
    jdk 7&8 new features
    java jri null
    java.lang.OutOfMemoryError: PermGen space
  • 原文地址:https://www.cnblogs.com/hycms/p/4959773.html
Copyright © 2011-2022 走看看