Document类
一、类结构
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®Type=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®Type=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类的更多相关文章
- jsoup的Document类
一.简介 Document是一个装载html的文档类,它是jsoup一个非常重要的类.类声明:public class Document extends Element .Document是Node间 ...
- PHP至Document类操作 xml 文件
今天将项目上传到服务器后,打开项目发现报错 Error:undefined function appendChild()......, 根据提示查看源代码,发现 new Document()-> ...
- 浅析mongoEngine的document对象
引言: from mongoengine import * connect('local')class Test(Document): name=StringField(max_length=32) ...
- 六,WPF的Application类
Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性. 应用程序事件 Ap ...
- 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器
1 Lucene卡发包结构分析 包名 功能 org.apache.lucene.analysis Analysis提供自带的各种Analyzer org.apache.lucene.colla ...
- Lucene系列五:Lucene索引详解(IndexWriter详解、Document详解、索引更新)
一.IndexWriter详解 问题1:索引创建过程完成什么事? 分词.存储到反向索引中 1. 回顾Lucene架构图: 介绍我们编写的应用程序要完成数据的收集,再将数据以document的形式用lu ...
- java---解析XML文件,通过反射动态将XML内容封装到一个类中
本博客讲的XML解析,使用的是dom4j. 首先建立一个maven项目,在dom.xml中引入相应的dom4j的版本.作者下载的是热度很高的1.6.1版本.maven的使用在这里不做详细讲解. 引入成 ...
- 11.Bean2Document-BEAN转document
1. package com.glodon.gspm.adapter.plugin.common; import com.glodon.cloudt.tenancy.context.TenantCon ...
- 【WPF学习】第二十七章 Application类的任务
上一章介绍了有关WPF应用程序中使用Application对象的方式,接下来看一下如何使用Application对象来处理一些更普通的情况,接下俩介绍如何初始化界面.如何处理命名行参数.如何处理支付窗 ...
随机推荐
- 排序算法合集(Java)
整理了一下常用的排序算法,算法过程和示意图不详细讲,百度很多,只列代码,如有错误,还望大家指出. 1.冒泡排序 public static void bubbleSort(int[] a){ for( ...
- Postgres安装详解
PG安装 一.基础包的安装(yum源的配置,可以采用光盘挂载,及ftp yum源,针对外网环境忽略此步): yum -y install wget tcpdump glibc libgcc gcc g ...
- HDU - 6514 Monitor(二维差分)
题意 给定一个\(n×m\)的矩阵.(\(n×m <= 1e7\)). \(p\)次操作,每次可以在这个矩阵中覆盖一个矩形. \(q\)次询问,每次问一个矩形区域中,是否所有的点都被覆盖. 解析 ...
- android 极光推送 声音与振动 的关闭和开启
前言:最近刚好在写一些推送方面的东西,又是新手,不断在网上找资料,很少,不过还是找到了一些,反正百度我是再也不想百度了,谷歌一下子就能找到想要的. 废话不多说. 1.主要方法就是如下一个函数 priv ...
- iview框架 两侧弹框 出现第二层弹框 一闪而过的问题
分析原因:寡人怀疑可能是,两层弹出框 采用的是一个开关值,发生了覆盖 解决方式 是在第二层弹框外套层计时器 源代码如下: 修改后为:
- Python虚拟机类机制之descriptor(三)
从slot到descriptor 在Python虚拟机类机制之填充tp_dict(二)这一章的末尾,我们介绍了slot,slot包含了很多关于一个操作的信息,但是很可惜,在tp_dict中,与__ge ...
- Django 五——中间件、缓存、CSRF、信号、Bootstrap(模板)
内容概要: 1.Django的请求生命周期是怎么样的? 2.中间件 3.CSRF补充 4.信号 5.Bootstrap(模板) 1.Django的请求生命周期是怎么样的? (即请求发起到返回都经历了什 ...
- php字符串 函数
strtolower()//字符串转化小写的字母 $str="abcdEfG";$s=strtolower($str); 输出:abcdefg; strtoupper();字符串转 ...
- thinkphp3.2.3多图上传并且生成多张缩略图
html部分 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" con ...
- JS 关于 URL 的编码或解码方法
URL的合法字符 URL的合法字符表示再浏览器的地址栏中不会被转义的字符,有两种: URL元字符:分号(;),逗号(’,’),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加 ...