jsoup教程002-解析和遍历一个html文档

来源:互联网 发布:js中的target属性 编辑:程序博客网 时间:2024/06/06 11:46

jsoup教程002-解析和遍历一个html文档

如何解析一个HTML文档:

String html = "<html><head><title>First parse</title></head>"+ "<body><p>Parsed HTML into a doc.</p></body></html>";Document doc = Jsoup.parse(html);

其解析器能够尽最大可能从你提供的HTML文档来创见一个干净的解析结果,无论HTML的格式是否完整。比如它可以处理:

  • 没有关闭的标签 (比如: <p>Lorem <p>Ipsum parses to <p>Lorem</p> <p>Ipsum</p>)
  • 隐式标签 (比如. 它可以自动将 <td>Table data</td>包装成<table><tr><td>?)
  • 创建可靠的文档结构(html标签包含head 和 body,在head只出现恰当的元素)

一个文档的对象模型

  • 文档由多个Elements和TextNodes组成 (以及其它辅助nodes:详细:nodes package tree.)
Hierarchy For Package org.jsoup.nodesPackage Hierarchies:    All Packages Class Hierarchy    java.lang.Object        org.jsoup.nodes.Attribute (implements java.lang.Cloneable, java.util.Map.Entry<K,V>)            org.jsoup.nodes.BooleanAttribute        org.jsoup.nodes.Attributes (implements java.lang.Cloneable, java.lang.Iterable<T>)        org.jsoup.nodes.Document.OutputSettings (implements java.lang.Cloneable)        org.jsoup.nodes.Entities        org.jsoup.nodes.Node (implements java.lang.Cloneable)            org.jsoup.nodes.Comment            org.jsoup.nodes.DataNode            org.jsoup.nodes.DocumentType            org.jsoup.nodes.Element                org.jsoup.nodes.Document                org.jsoup.nodes.FormElement            org.jsoup.nodes.TextNode            org.jsoup.nodes.XmlDeclarationEnum Hierarchy    java.lang.Object        java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)            org.jsoup.nodes.Entities.EscapeMode            org.jsoup.nodes.Document.OutputSettings.Syntax            org.jsoup.nodes.Document.QuirksMode
  • 其继承结构如下:Document继承Element继承Node.TextNode继承Node.
  • 一个Element包含一个子节点集合,并拥有一个父Element。他们还提供了一个唯一的子元素过滤列表。
原创粉丝点击