一、生成HTML字符串

//生成DOM字符串结构 HtmlNode container = HtmlNode.CreateNode("

"); title.InnerHtml = "张三丰"; HtmlNode link = HtmlNode.CreateNode(""); link.InnerHtml = "点击进入"; link.SetAttributeValue("href", "http://wwww.gongjuji.net"); container.AppendChild(title).AppendChild(link); Console.WriteLine(container.OuterHtml);

二、解析HTML字符串或本地html文件

//解析html 字符串或者本地html文件 HtmlDocument doc = new HtmlDocument(); string html = "

Hello

"; doc.LoadHtml(html); HtmlNode demo = doc.GetElementbyId("demo"); Console.WriteLine(demo.InnerHtml); //注:InnerText中会有换行或空格等,需要特殊处理 Console.WriteLine(demo.InnerText); Console.WriteLine(demo.InnerText.Length);

三、解析处理结合XPath使用更加方便

XPath简明介绍

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。

下面列出了最有用的路径表达式:

nodename:选取此节点的所有子节点。

/:从根节点选取。

//:从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

.:选取当前节点。

..:选取当前节点的父节点。

例如有下面一段XML:

<?xml version="1.0" encoding="utf-8"?> 在ASP.NET中使用Highcharts js图表http://zhoufoxcn.blog.51cto.com/792419/5373242011-04-07 Log4Net使用详解(续)http://blog.csdn.net/zhoufoxcn/archive/2010/11/23/6029021.aspx2010年11月23日 J2ME开发的一般步骤http://blog.csdn.net/zhoufoxcn/archive/2011/06/12/6540223.aspx2011年06月12日 PowerDesign高级应用http://zhoufoxcn.blog.51cto.com/792419/1664152007-09-08

针对上面的XML文件,我们列出了带有谓语的一些路径表达式,以及表达式的结果: /Articles/Article[1]:选取属于Articles子元素的第一个Article元素。   /Articles/Article[last()]:选取属于Articles子元素的最后一个Article元素。   /Articles/Article[last()-1]:选取属于Articles子元素的倒数第二个Article元素。   /Articles/Article[position()<3]:选取最前面的两个属于 bookstore 元素的子元素的Article元素。   //title[@lang]:选取所有拥有名为lang的属性的title元素。   //CreateAt[@type=‘zh-cn‘]:选取所有CreateAt元素,且这些元素拥有值为zh-cn的type属性。   /Articles/Article[Order>2]:选取Articles元素的所有Article元素,且其中的Order元素的值须大于2。   /Articles/Article[Order<3]/Title:选取Articles元素中的Article元素的所有Title元素,且其中的Order元素的值须小于3。

html解析器c#,C# HTML解析工具HtmlAgilityPack使用实例(一)相关推荐

  1. python的网页解析器_python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...

  2. python自带网页解析器_python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出& ...

  3. 从零编写一个解析器(1)—— 解析数字

    文章名称:从零编写一个解析器(1)-- 解析数字 参考地址:https://github.com/Geal/nom/blob/master/doc/making_a_new_parser_from_s ...

  4. java 解析器_高性能Java解析器实现过程详解

    如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...

  5. 标准查询分析器:Solr的默认查询解析器也称为“Lucene”解析器。

    标准查询分析器:Solr的默认查询解析器也称为"Lucene"解析器. 标准查询解析器的主要优点是,它支持一种健壮且相当直观的语法,允许您创建各种结构化查询.最大的缺点是,与设计为 ...

  6. css 解析器 java_Java 的 CSS 解析器 jStyleParser

    软件介绍 jStyleParser 是一个开源 Java 的 CSS 解析器,可以在 Java 程序中解析 CSS 样式文件. Maven net.sf.cssbox jstyleparser 3.2 ...

  7. SAXReader解析器--xml字符串文件解析

    输入为xml格式字符串 public static void main(String[] args) throws DocumentException {String xml="<?x ...

  8. python解析器的作用_Python 解析器

    2008-01-07 17:55 星期一 嵌入Python解析器执行一些简单的Python 脚本脚本很容易,但是当python解析器用到扩展模块时和多个线程都需要Python解析器执行脚本时,遇到了一 ...

  9. mysql 解析器_MySQL ngram全文解析器

    本教程将向您展示如何使用MySQL ngram全文解析器来支持中文,日文,韩文等表意语言的全文搜索. MySQL ngram全文解析器简介 MySQL内置的全文解析器使用空格确定单词的开始和结束.当涉 ...

  10. php 解析器模式,娓娓道来:解析器模式-interpreter

    解析器模式:解析脚本的语言解析器. php源于c语言,其实是用c语言解析了php脚本,那么php有是如何解析其他语言的呢,看看面向对象的魅力所在吧. 现在解析这样一句话: $input equals ...

最新文章

  1. 用这个Python库,训练你的模型成为下一个街头霸王!
  2. Mac的控制台命令无法使用command not found
  3. 【css】文字垂直居中
  4. 牛客网【每日一题】Shortest Path 4月3日题目精讲 DFS
  5. 最佳Linux服务器发行版
  6. C语言实验六作业,C语言程序设计作业——实验六.doc
  7. 对二宝软件的NABCD分析
  8. 实施工程师职业的前景和发展思考
  9. 项目管理系统设计方案
  10. oracle数据库导出灰色_Oracle数据库导入导出命令总结
  11. Linux的du 和 df 的区别
  12. 2023华中科技大学计算机考研信息汇总
  13. PIN,PUK,IMEI,ICCID,Ki,IMSI,SMSP之间的区别
  14. Unity 鱼的游动
  15. iOS textView return实现键盘收回
  16. 什么是莆田鞋,价格贵吗,质量怎么样
  17. (java)scanner.next()与scanner.nextLine()的区别
  18. 关于hiktool已失效的处理及一台无法初始化的海康录像机的修复
  19. 【JS】load script xxx failed : Error: Cannot find module xxx
  20. PHP Framework 数据库框架 Medoo 2.1:使用 Medoo 连接MYSQL数据库

热门文章

  1. 什么叫显示动力学_什么叫显示动力学,什么叫隐式动力学分析!
  2. 天然气压缩因子计算软件_徐秀芬等:天然气加气站压缩机组效率的计算方法
  3. 在统计学中_我来尝试给你讲清统计学中的假设检验和两类错误
  4. 软件工程关于自动生成四则运算题目程序的见解
  5. Navicat for mysql 远程连接 mySql数据库10061错误问题
  6. 闭包允许内层函数引用父函数中的变量,但是该变量是最终值
  7. 自定义托管宿主WCF解决方案开发配置过程详解
  8. 罗格斯的计算机科学,Rutgers的CS「罗格斯大学计算机科学系」
  9. mybatis-plus如和获取当天得数据_MybatisPlus多数据源及事务解决思路
  10. 如何读入一个多行的txt文件,给每行的数据加双引号并保存为一行输出