一、简介

Node类直接继承Object,实现了Cloneable接口,它是一个抽象类,类声明:public abstract class Node extends Object implements Cloneable

直接已知子类:Comment, DataNode, DocumentType, Element, TextNode, XmlDeclaration

Node是节点的抽象模型。Elements, Documents, Comments等都是节点的实例。

二、构造方法

1、protected Node(String baseUri, Attributes attributes)        创建一个新的节点(Node)对象。

参数:baseUri - base URI

attributes - attributes (not null, but may be empty)

2、protected Node(String baseUri)   创建一个新的节点(Node)对象。指定了baseUri

3、protected Node()  使用默认构造器创建Node对象。不会创建base uri、子节点、属性。谨慎使用。

三、方法详细

1、public abstract String nodeName()   抽象方法。获取节点名称。

2、public String attr(String attributeKey)  通过键(key)来获取属性的值(value)。另外,此方法可以将相对路劲的url转变为绝对路劲,只要将key加上前缀abs。如:String url = a.attr("abs:href");

3、public Attributes attributes()  获取元素的所有属性。

4、public Node attr(String attributeKey, String attributeValue) 通过键设置属性的值。   参数:attributeKey -属性的键 。  attributeValue - 属性的值。

5、public boolean hasAttr(String attributeKey)  检测元素是否有attributeKey键指定的属性。

6、public Node removeAttr(String attributeKey)   从元素中移除attributeKey键指定的属性。

7、public String baseUri()   获取节点的base Url

8、public void setBaseUri(String baseUri)  更新节点和其子孙的base URI

9、public String absUrl(String attributeKey) 从一个可能是相对路劲的URI属性中获取为绝对路径的URL   如:String absUrl = linkEl.absUrl("href");

   如果URL已经是绝对路劲,就直接返回它,否则使用baseUri将其转换为绝对路劲的URL

10、public Node childNode(int index)  根据索引得到其相应子节点。

11、public List<Node> childNodes()  得到所有子节点的集合。此集合不能被修改,即不能添加新的字节点。但是原子节点本身可以被操纵。

12、protected Node[] childNodesAsArray() 返回所有子节点的数组。

13、public Node parent() 得到此节点的父节点。如果没有父节点,则返回null。

14、public Document ownerDocument() 得到该节点相关联的Document对象。

15、public void remove() 从DOM树中移除该节点。如果该节点有子节点,则他们也将都被移除。

16、public Node before(String html)  在该节点前面插入一段指定的html到DOM树中

17、public Node before(Node node)  在该节点前面插入一个指定的节点到DOM树中

18、public Node after(String html)     在该节点后面插入一段指定的html到DOM树中

19、public Node after(Node node)   在该节点后面插入一个指定的节点到DOM树中

20、public Node wrap(String html)   用提供的html包装该节点。

21、public Node unwrap()   移除该节点,但保留它的子节点。即它的子节点将取代它的位置而连在其父节点上。返回的是该节点的第一个子节点。如果没有子节点则返回null。

22、public void replaceWith(Node in) 用提供的节点替代该节点在DOM树中的位置。

23、protected void setParentNode(Node parentNode)   设置该节点的父节点为parentNode

24、protected void replaceChild(Node out, Node in)   替换该节点的某个子节点。out为要被替换的节点。in为用来替换的新节点。

25、protected void removeChild(Node out)  移除该节点的指定子节点(out)

26、protected void addChildren(Node... children)  为该节点增加子节点。

27、protected void addChildren(int index, Node... children)  在指定索引位置上为该节点增加子节点。

28、public List<Node> siblingNodes()  返回该节点的兄弟节点的集合。如果该节点没有父节点,则返回空集合。

29、public Node nextSibling()  得到该节点的下一个兄弟节点。如果该节点已是最后一个节点,则返回null。

30、public Node previousSibling()  得到该节点的上一个兄弟节点。如果该节点是第一个节点,则返回null。

31、public int siblingIndex()  得到该节点在所有兄弟节点集合中的索引,即位置。如果该节点是第一个,则返回0.

32、protected void setSiblingIndex(int siblingIndex)   设置该节点在兄弟节点集合中的位置。

33、public Node traverse(NodeVisitor nodeVisitor)   根据该节点及其子节点进行深度优先的遍历。   参数:nodeVisitor - the visitor callbacks to perform on each node

34、public String outerHtml()   得到该节点的外部html。

35、protected void outerHtml(StringBuilder accum)  得到该节点的外部html。

36、public String toString()  覆盖Object的toString

37、protected void indent(StringBuilder accum, int depth, Document.OutputSettings out)

38、public boolean equals(Object o) 覆盖Object的equals

39、public int hashCode()  覆盖Object的hashCode

40、public Node clone()   深复制克隆一个节点  。覆盖Object的clone

41、protected Node doClone(Node parent)

jsoup的Node类的更多相关文章

  1. Cocos2d-X3.0 刨根问底(五)----- Node类及显示对象列表源码分析

    上一章 我们分析了Cocos2d-x的内存管理,主要解剖了 Ref.PoolManager.AutoreleasePool这三个类,了解了对象是如何自动释放的机制.之前有一个类 Node经常出现在各种 ...

  2. jsoup的elements类

    jsoup的Elements类 一.简介 该类是位于select包下,直接继承自Object,所有实现的接口有Cloneable, Iterable<Element>, Collectio ...

  3. COCOS2D-X学习笔记(一)-----Node类的学习

    Node类(在3.0版本以下叫CCNode):节点类. 本文记录以下几个方法的学习笔记: init()和onEnter()这俩个方法都是CCNode的方法.其区别如下: 1.其被调用的顺序是先init ...

  4. 144、Java链表之定义一个Node类并输出

    01.代码如下: package TIANPAN; class Node { // 每一个链表实际上就是由多个节点组成的 private String data; // 要保存的数据 private ...

  5. jsoup的Document类

    一.简介 Document是一个装载html的文档类,它是jsoup一个非常重要的类.类声明:public class Document extends Element .Document是Node间 ...

  6. jsoup的Element类

    一.简介 该类是Node的直接子类,同样实现了可克隆接口.类声明:public class Element extends Node 它表示由一个标签名,多个属性和子节点组成的html元素.从这个元素 ...

  7. 【cocos2dx中Node类getParent和getChildByTag()】学习体会

    參考http://cn.cocos2d-x.org/doc/cocos2d-x-3.0/d3/d82/classcocos2d_1_1_node.html 当中和child.parent有关的成员函数 ...

  8. 解决eclipse中org.w3c.dom.Node类老报The method getTextContent() is undefined 问题

    http://www.cnblogs.com/itspy007/articles/4431581.html

  9. Jsoup-解析HTML工具(简单爬虫工具)

    Jsoup-解析HTML工具(简单爬虫工具) 一.简介 ​ jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS ...

随机推荐

  1. python pandas 读excel类

    import pandas as pd '''特例说明 file1="a20201220.xlsx" sheetname='Sheet1' df=pd.read_excel(fil ...

  2. [刘阳Java]_Spring常用注解介绍_第6讲

    Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为 ...

  3. 基于IDEA的JAVA开发[第一集]:在Linux上安装IDEA

    1,因为买了荣耀的magicbook pro 锐龙版,系统是Linux,以后打算直接在Linux上开发.本来熟悉Myeclipse,下载了Myeclipse2017 for Linux,但是安装中出现 ...

  4. 《PHP 实现 Base64 编码/解码》笔记

    前言 早在去年 11 月底就已经看过<PHP 实现 Base64 编码/解码>这篇文章了,由于当时所掌握的位运算知识过于薄弱,所以就算是看过几遍也是囫囵吞枣一般,不出几日便忘记了其滋味. ...

  5. JS 高级程序设计3.5.1一元操作符 递增和递减操作符++ --

    var age =29 ++age; 在这个例子中,前置递增操作符把age的值变成了30.实际上,执行这个前置递增操作符与执行 一下操作的效果相同: var age=29; age =age+1;// ...

  6. intouch制作历史趋势公用弹窗

    在先前项目中,历史趋势都是作为一个总体的画面,然后添加下拉菜单选择来配合使用.在新项目中,业主要求在相应的仪表上直接添加历史趋势,这就需要利用公用弹窗来制作历史趋势了. 1.窗体建立 窗体建立是比较简 ...

  7. 学会这十招,轻松搜索github优质项目

    大家好,我是青空. 今天我想给大家分享一下使用 GitHub 的一些心得体会.之前我是在分享 GitHub上的一些开源项目,通过这段时间的收集工作,我积累了一些相关的经验在这里分享给大家. 我做了一个 ...

  8. 【LeetCode】297. 二叉树的序列化与反序列化

    297. 二叉树的序列化与反序列化 知识点:二叉树:递归 题目描述 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一 ...

  9. GoogleTest死亡测试的跨平台BUG

    最近工作用到了GoogleTest来作单元测试,但是死亡测试的ASSERT_DEATH语句一直跑不通. GoogleTest会启动子进程来运行代码,并捕捉子进程的错误消息,这就是所谓的"死亡 ...

  10. 【SpringCloud微服务实战】搭建企业级应用开发框架(一):架构说明

    SpringCloud分布式应用微服务系统架构图: SpringCloud分布式应用微服务系统组件列表: 微服务框架组件:Spring Boot2 + SpringCloud Hoxton.SR8 + ...