一、类结构

org.jsoup.nodes
Class Document

java.lang.Object

org.jsoup.nodes.Node

org.jsoup.nodes.Element

org.jsoup.nodes.Document

All Implemented Interfaces:

Cloneable

--------------------------------------------------------------------------------

public class Document

extends

Element

一个HTML文档

二、方法

Constructor Summary
 
Document(String baseUri)
构造函数:根据baseUri创建一个空白HTML文档
 
 
Method Summary
 
Element
 body()
获取HTML文档的body内容
 
Document
 clone()
创建一份Document的完整拷贝
 
Element
 createElement(String tagName)
创建一个tagName节点
 
static Document
 createShell(String baseUri)
创建一个空白的整体HTML框架
 
Element
 head()
获取Document的head值
 
String
 nodeName()
获取一个节点的节点名
 
Document
 normalise()
使document正常化
 
String
 outerHtml()
获取节点的HTML
 
Document.OutputSettings
 outputSettings()
          Get the document's current output settings.
 
Document
 outputSettings(Document.OutputSettings outputSettings)
          Set the document's output settings.
 
Document.QuirksMode
 quirksMode()

Document
 quirksMode(Document.QuirksMode quirksMode)

Element
 text(String text)
获取节点或者Document的text值
 
String
 title()

获取Document的title值
 
void
 title(String title)
设置Document的title值

三、实例

[java] view plaincopyprint?
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
  
public class JsoupDocument { 
    private static Document doc; 
    private static Document shell; 
    public static void main(String[] args) { 
       try { 
           doc =  Jsoup.connect("http://www.baidu.com").get(); 
           //System.out.println(doc);  
           //Body();   
           //Clone();         
           //CreateElement();           
           //CreateShell();  
           //Head();  
           //NodeName();  
           //OuterHtml();  
           //Text("你好");  
           //Text();  
           //Title();  
           Title("伊诺克Eliot"); 
       } catch (Exception e) { 
           // TODO Auto-generatedcatch block  
           e.printStackTrace(); 
       } 
    } 
    //获取body  
    private static void Body(){ 
       System.out.println(doc.body()); 
    } 
    //克隆Document  
    private static void Clone(){ 
       Document clone = doc.clone(); 
       System.out.println(clone); 
    } 
    //创建一个节点,例如:<div></div>  
    private static void CreateElement(){ 
       Element e = doc.createElement("div"); 
       System.out.println(e); 
    } 
    //创建一个整体框架  
    /*
     输出:
     <html>
     <head></head>
     <body></body>
     </html>  
     */ 
    private static void CreateShell(){ 
       shell = Document.createShell("http://www.baidu.com"); 
       System.out.println(shell); 
    } 
    //获取Head  
    /*
     * 输出:
     * <head>
        <meta http-equiv="content-type"content="text/html;charset=utf-8" />
        <title>百度一下,你就知道</title>
        <style>html,body{height:100%}.....省略.... </style>
       
<script>functionh(obj){obj.style.behavior='url(#default#homepage)';vara
= obj.setHomePage('http://www.baidu.com/');}</script>
       </head>
     * */ 
    private static void Head(){ 
       Element e = doc.head(); 
       System.out.println(e); 
    } 
    //获取节点名  
    private static void NodeName(){ 
       String name = doc.body().nodeName(); 
       System.out.println(name); 
       name = doc.body().getElementById("content").nodeName(); 
       System.out.println(name); 
       name = doc.body().getElementById("content").getElementById("u").nodeName(); 
       System.out.println(name); 
    } 
    //获取节点的html  
    /*
     * 输出:
     * <divid="u">
        <a href="http://www.baidu.com/gaoji/preferences.html"name="tj_setting">搜索设置</a>|
        <a
href="https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F"
name="tj_login" id="lb"onclick="return false;">登录</a> <a
href="https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F"
target="_blank"name="tj_reg" class="reg">注册</a>
       </div>
     * */ 
    private static void OuterHtml(){ 
       String html = doc.body().getElementById("content").getElementById("u").outerHtml(); 
       //Element html =doc.body().getElementById("content").getElementById("u");  
       System.out.println(html); 
    } 
    //设置节点或者Document的text值  
    //设置Document的text值时,body中的节点将全部被删除  
    private static void Text(String text){ 
       //设置节点的text  
       Element e = doc.body().getElementById("content").getElementById("u").select("a").get(0).text(text); 
       System.out.println(e); 
       //设置Document的text值  
       doc.text(text); 
       System.out.println(doc); 
    } 
    //获取节点或者Document的text值  
    private static void Text(){ 
       String text = doc.body().getElementById("content").getElementById("u").select("a").get(0).text(); 
       System.out.println(text); 
    } 
    //设置Document的title值  
    private static void Title(String title){ 
       doc.title(title); 
       System.out.println(doc); 
    } 
    //获取Document的title值  
    private static void Title(){ 
       String text = doc.title(); 
       System.out.println(text); 
    } 
}

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
 
public class JsoupDocument {
    private static Document doc;
    private static Document shell;
    public static void main(String[] args) {
       try {
           doc =  Jsoup.connect("http://www.baidu.com").get();
           //System.out.println(doc);
           //Body();
           //Clone();      
           //CreateElement();        
           //CreateShell();
           //Head();
           //NodeName();
           //OuterHtml();
           //Text("你好");
           //Text();
           //Title();
           Title("伊诺克Eliot");
       } catch (Exception e) {
           // TODO Auto-generatedcatch block
           e.printStackTrace();
       }
    }
    //获取body
    private static void Body(){
       System.out.println(doc.body());
    }
    //克隆Document
    private static void Clone(){
       Document clone = doc.clone();
       System.out.println(clone);
    }
    //创建一个节点,例如:<div></div>
    private static void CreateElement(){
       Element e = doc.createElement("div");
       System.out.println(e);
    }
    //创建一个整体框架
    /*
     输出:
     <html>
     <head></head>
     <body></body>
     </html> 
     */
    private static void CreateShell(){
       shell = Document.createShell("http://www.baidu.com");
       System.out.println(shell);
    }
    //获取Head
    /*
     * 输出:
     * <head>
        <meta http-equiv="content-type"content="text/html;charset=utf-8" />
        <title>百度一下,你就知道</title>
        <style>html,body{height:100%}.....省略.... </style>
       
<script>functionh(obj){obj.style.behavior='url(#default#homepage)';vara
= obj.setHomePage('http://www.baidu.com/');}</script>
       </head>
     * */
    private static void Head(){
       Element e = doc.head();
       System.out.println(e);
    }
    //获取节点名
    private static void NodeName(){
       String name = doc.body().nodeName();
       System.out.println(name);
       name = doc.body().getElementById("content").nodeName();
       System.out.println(name);
       name = doc.body().getElementById("content").getElementById("u").nodeName();
       System.out.println(name);
    }
    //获取节点的html
    /*
     * 输出:
     * <divid="u">
        <a href="http://www.baidu.com/gaoji/preferences.html"name="tj_setting">搜索设置</a>|
        <a
href="https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F"
name="tj_login" id="lb"onclick="return false;">登录</a> <a
href="https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F"
target="_blank"name="tj_reg" class="reg">注册</a>
       </div>
     * */
    private static void OuterHtml(){
       String html = doc.body().getElementById("content").getElementById("u").outerHtml();
       //Element html =doc.body().getElementById("content").getElementById("u");
       System.out.println(html);
    }
    //设置节点或者Document的text值
    //设置Document的text值时,body中的节点将全部被删除
    private static void Text(String text){
       //设置节点的text
       Element e = doc.body().getElementById("content").getElementById("u").select("a").get(0).text(text);
       System.out.println(e);
       //设置Document的text值
       doc.text(text);
       System.out.println(doc);
    }
    //获取节点或者Document的text值
    private static void Text(){
       String text = doc.body().getElementById("content").getElementById("u").select("a").get(0).text();
       System.out.println(text);
    }
    //设置Document的title值
    private static void Title(String title){
       doc.title(title);
       System.out.println(doc);
    }
    //获取Document的title值
    private static void Title(){
       String text = doc.title();
       System.out.println(text);
    }
}
四、总结

Document类主要是一些有关HTML文档的方法,包括获得HTML文档的body、头Head、整体框架Shell、标题Title、
Text(其实就是body的内容)、HTML文档的拷贝,函数作用的主体大多数为Document。可以更改Title、Text以及HTML文档中某
个节点的text值。

Document类的更多相关文章

  1. jsoup的Document类

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

  2. PHP至Document类操作 xml 文件

    今天将项目上传到服务器后,打开项目发现报错 Error:undefined function appendChild()......, 根据提示查看源代码,发现 new Document()-> ...

  3. 浅析mongoEngine的document对象

    引言: from mongoengine import * connect('local')class Test(Document): name=StringField(max_length=32) ...

  4. 六,WPF的Application类

    Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性. 应用程序事件 Ap ...

  5. 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器

     1  Lucene卡发包结构分析 包名 功能 org.apache.lucene.analysis Analysis提供自带的各种Analyzer org.apache.lucene.colla ...

  6. Lucene系列五:Lucene索引详解(IndexWriter详解、Document详解、索引更新)

    一.IndexWriter详解 问题1:索引创建过程完成什么事? 分词.存储到反向索引中 1. 回顾Lucene架构图: 介绍我们编写的应用程序要完成数据的收集,再将数据以document的形式用lu ...

  7. java---解析XML文件,通过反射动态将XML内容封装到一个类中

    本博客讲的XML解析,使用的是dom4j. 首先建立一个maven项目,在dom.xml中引入相应的dom4j的版本.作者下载的是热度很高的1.6.1版本.maven的使用在这里不做详细讲解. 引入成 ...

  8. 11.Bean2Document-BEAN转document

    1. package com.glodon.gspm.adapter.plugin.common; import com.glodon.cloudt.tenancy.context.TenantCon ...

  9. 【WPF学习】第二十七章 Application类的任务

    上一章介绍了有关WPF应用程序中使用Application对象的方式,接下来看一下如何使用Application对象来处理一些更普通的情况,接下俩介绍如何初始化界面.如何处理命名行参数.如何处理支付窗 ...

随机推荐

  1. 与SVN相关的程序的调试问题【转】

    解决eclipse中出现Resource is out of sync with the file system问题. 分析:有时候因为时间紧迫的原因,所以就没去管它,今天再次遇到它,实在看着不爽,所 ...

  2. JZOJ 3385. 【NOIP2013模拟】黑魔法师之门

    3385. [NOIP2013模拟]黑魔法师之门 (Standard IO) Time Limits: 1000 ms  Memory Limits: 131072 KB  Detailed Limi ...

  3. Flask学习笔记:数据库迁移操作flask-script+alembic/flask-migrate

    数据库迁移是将代码中模型类(即表)的修改同步到数据库中, flask-sqlalchemy的模型类一旦使用create_all()映射到数据库中后,对这个模型类的修改(例如添加了一个新的字段)就不会再 ...

  4. Jane Austen【简·奥斯汀】

    Jane Austen Jane Austen, a famous English writer, was born at Steventon, Hampshire, on December 16, ...

  5. cakephp 中Console / Shell 有什么优点?

    Which is the advantage of using CakePHP Console / Shell for programmed tasks ? 查看原文 最近用到了cakephp中的sh ...

  6. ffmpeg转换参数和对几种视频格式的转换分析

    我们在将多种格式的视频转换成flv格式的时候,我们关注的就是转换后的flv视频的品质和大小.下面就自己的实践所得来和大家分享一下,主要针对avi.3gp.mp4和wmv四种格式来进行分析.通常在使用f ...

  7. java中equals和==

    https://www.cnblogs.com/bluestorm/archive/2012/03/02/2377615.html

  8. IOS开发学习笔记027-UITableView 使用模型对象

    1.模型对象 2.单组数据的显示 1.模型对象 继续优化上一个程序 上一次用到字典,但是坏处多多.这里将这些数据封装到类中. 这就是MVC中得模型,模型就是数据的显示结构 新建一个类,添加几个属性和一 ...

  9. js后台提交成功后 关闭当前页 并刷新父窗体(转)

    原文地址:http://www.cnblogs.com/chenghu/p/3696433.html 后台提交成功后 关闭当前页 并刷新父窗体 this.ClientScript.RegisterSt ...

  10. OOP的三大特性------封装、继承、多态

    封装 1.<1>类背后隐藏的思想是数据抽象和封装 <2>信息隐藏,隐藏对象的实现细节,不让外部直接访问到 将数据成员和成员函数一起包装到一个单元里,单元以类的形式实现 < ...