• 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&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值。

  • 相关阅读:
    使用putty上传文件到linux系统
    常用网页背景颜色
    如果你在Windows下用putty来远程连接Linux发现乱码请用下面的方法解决:
    如何让plsql查询的数据可编辑
    oracle中not in(null)问题
    linux学习之路第三天(vim和vi使用)
    linux菜鸡学习之路
    常用正则表达式()
    JAVA WEB 用servlet实现分页,思路比较清晰和简单。
    linux学习之路第三天
  • 原文地址:https://www.cnblogs.com/zheh/p/3918820.html
Copyright © 2020-2023  润新知