org.jsoup.nodes
Class Document

java.lang.Object
  extended by org.jsoup.nodes.Node
      extended by org.jsoup.nodes.Element
          extended by org.jsoup.nodes.Document
All Implemented Interfaces:
Cloneable

public class Document
     
extends Element

A HTML Document.

Author:
Jonathan Hedley, jonathan@hedley.net

Nested Class Summary
static class Document.OutputSettings
          A Document's output settings control the form of the text() and html() methods.
static class Document.QuirksMode
           
 
Constructor Summary
Document(String baseUri)
          Create a new, empty Document.
 
Method Summary
 Element body()
          Accessor to the document's body element.
 Charset charset()
          Returns the charset used in this document.
 void charset(Charset charset)
          Sets the charset used in this document.
 Document clone()
          Create a stand-alone, deep copy of this node, and all of its children.
 Element createElement(String tagName)
          Create a new Element, with this document's base uri.
static Document createShell(String baseUri)
          Create a valid, empty shell of a document, suitable for adding more elements to.
 boolean equals(Object o)
          Check if this node is equal to another node.
 Element head()
          Accessor to the document's head element.
 String location()
          Get the URL this Document was parsed from.
 String nodeName()
          Get the node name of this node.
 Document normalise()
          Normalise the document.
 String outerHtml()
          Get the outer HTML of this node.
 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)
          Set the text of the body of this document.
 String title()
          Get the string contents of the document's title element.
 void title(String title)
          Set the document's title element.
 boolean updateMetaCharsetElement()
          Returns whether the element with charset information in this document is updated on changes through Document.charset(Charset) or not.
 void updateMetaCharsetElement(boolean update)
          Sets whether the element with charset information in this document is updated on changes through Document.charset(Charset) or not.
 
Methods inherited from class org.jsoup.nodes.Element
addClass, after, after, append, appendChild, appendElement, appendText, attr, before, before, child, children, className, classNames, classNames, cssSelector, data, dataNodes, dataset, elementSiblingIndex, empty, firstElementSibling, getAllElements, getElementById, getElementsByAttribute, getElementsByAttributeStarting, getElementsByAttributeValue, getElementsByAttributeValueContaining, getElementsByAttributeValueEnding, getElementsByAttributeValueMatching, getElementsByAttributeValueMatching, getElementsByAttributeValueNot, getElementsByAttributeValueStarting, getElementsByClass, getElementsByIndexEquals, getElementsByIndexGreaterThan, getElementsByIndexLessThan, getElementsByTag, getElementsContainingOwnText, getElementsContainingText, getElementsMatchingOwnText, getElementsMatchingOwnText, getElementsMatchingText, getElementsMatchingText, hasClass, hashCode, hasText, html, html, id, insertChildren, isBlock, lastElementSibling, nextElementSibling, ownText, parent, parents, prepend, prependChild, prependElement, prependText, previousElementSibling, removeClass, select, siblingElements, tag, tagName, tagName, text, textNodes, toggleClass, toString, val, val, wrap
 
Methods inherited from class org.jsoup.nodes.Node
absUrl, addChildren, addChildren, attr, attributes, baseUri, childNode, childNodes, childNodesAsArray, childNodesCopy, childNodeSize, doClone, hasAttr, indent, nextSibling, outerHtml, ownerDocument, parentNode, previousSibling, remove, removeAttr, removeChild, reparentChild, replaceChild, replaceWith, setBaseUri, setParentNode, setSiblingIndex, siblingIndex, siblingNodes, traverse, unwrap
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Document

public Document(String baseUri)
Create a new, empty Document.

Parameters:
baseUri - base URI of document
See Also:
Jsoup.parse(java.lang.String, java.lang.String), createShell(java.lang.String)
Method Detail

createShell

public static Document createShell(String baseUri)
Create a valid, empty shell of a document, suitable for adding more elements to.

Parameters:
baseUri - baseUri of document
Returns:
document with html, head, and body elements.

location

public String location()
Get the URL this Document was parsed from. If the starting URL is a redirect, this will return the final URL from which the document was served from.

Returns:
location

head

public Element head()
Accessor to the document's head element.

Returns:
head

body

public Element body()
Accessor to the document's body element.

Returns:
body

title

public String title()
Get the string contents of the document's title element.

Returns:
Trimmed title, or empty string if none set.

title

public void title(String title)
Set the document's title element. Updates the existing element, or adds title to head if not present

Parameters:
title - string to set as title

createElement

public Element createElement(String tagName)
Create a new Element, with this document's base uri. Does not make the new element a child of this document.

Parameters:
tagName - element tag name (e.g. a)
Returns:
new element

normalise

public Document normalise()
Normalise the document. This happens after the parse phase so generally does not need to be called. Moves any text content that is not in the body element into the body.

Returns:
this document after normalisation

outerHtml

public String outerHtml()
Description copied from class: Node
Get the outer HTML of this node.

Overrides:
outerHtml in class Node
Returns:
HTML

text

public Element text(String text)
Set the text of the body of this document. Any existing nodes within the body will be cleared.

Overrides:
text in class Element
Parameters:
text - unencoded text
Returns:
this document

nodeName

public String nodeName()
Description copied from class: Node
Get the node name of this node. Use for debugging purposes and not logic switching (for that, use instanceof).

Overrides:
nodeName in class Element
Returns:
node name

charset

public void charset(Charset charset)
Sets the charset used in this document. This method is equivalent to OutputSettings.charset(Charset) but in addition it updates the charset / encoding element within the document.

This enables meta charset update.

If there's no element with charset / encoding information yet it will be created. Obsolete charset / encoding definitions are removed!

Elements used:

Parameters:
charset - Charset
See Also:
updateMetaCharsetElement(boolean), Document.OutputSettings.charset(java.nio.charset.Charset)

charset

public Charset charset()
Returns the charset used in this document. This method is equivalent to Document.OutputSettings.charset().

Returns:
Current Charset
See Also:
Document.OutputSettings.charset()

updateMetaCharsetElement

public void updateMetaCharsetElement(boolean update)
Sets whether the element with charset information in this document is updated on changes through Document.charset(Charset) or not.

If set to false (default) there are no elements modified.

Parameters:
update - If true the element updated on charset changes, false if not
See Also:
charset(java.nio.charset.Charset)

updateMetaCharsetElement

public boolean updateMetaCharsetElement()
Returns whether the element with charset information in this document is updated on changes through Document.charset(Charset) or not.

Returns:
Returns true if the element is updated on charset changes, false if not

clone

public Document clone()
Description copied from class: Node
Create a stand-alone, deep copy of this node, and all of its children. The cloned node will have no siblings or parent node. As a stand-alone object, any changes made to the clone or any of its children will not impact the original node.

The cloned node may be adopted into another Document or node structure using Element.appendChild(Node).

Overrides:
clone in class Element
Returns:
stand-alone cloned node

outputSettings

public Document.OutputSettings outputSettings()
Get the document's current output settings.

Returns:
the document's current output settings.

outputSettings

public Document outputSettings(Document.OutputSettings outputSettings)
Set the document's output settings.

Parameters:
outputSettings - new output settings.
Returns:
this document, for chaining.

quirksMode

public Document.QuirksMode quirksMode()

quirksMode

public Document quirksMode(Document.QuirksMode quirksMode)

equals

public boolean equals(Object o)
Description copied from class: Node
Check if this node is equal to another node. A node is considered equal if its attributes and content equal the other node; particularly its position in the tree does not influence its equality.

Overrides:
equals in class Element
Parameters:
o - other object to compare to
Returns:
true if the content of this node is the same as the other


Copyright © 2009-2015 Jonathan Hedley. All Rights Reserved.