jsoup的Element類

1、public String nodeName()  得到節點名

2、public String tagName()  得到元素的標籤名 如div

3、public Element tagName(String tagName)  改變元素的標籤 。如:el.tagName("div")  把一個<span>標籤改變爲一個<div>標籤。

4、public Tag tag() 得到元素的Tag

5、public boolean isBlock()測試元素是否是塊級元素。

6、public String id() 得到元素的id屬性

7、public Element attr(String attributeKey, String attributeValue) 設置元素的屬性值。如果該鍵已存在,則替換掉以前的值;否則就新增。

8、public Map<String,String> dataset() 得到元素的HTML5自定義數據屬性。元素中每個以"data-"開頭的鍵的屬性都包含在數據集範圍內。

如這個元素<div data-package="jsoup" data-language="Java" class="group">... 就有如下數據集:package=jsoup, language=java.

返回的map是對元素屬性的篩選後的map集合。對一個map的改變(增、刪、改)會影響其他map

9、public final Element parent()  得到節點的父節點

10、public Elements parents()   得到元素的父類和祖先節點直到文檔的根。返回元素最接近的一個父類的堆棧。

11、public Element child(int index)  通過索引得到元素的子元素。

注意:一個元素的子元素可以是元素和節點的混合。這個方法只檢查過濾後的子元素的集合(保留那些children是elements的children,過濾掉children是Nodes的children),index也是基於過濾後的集合的索引。

12、public Elements children() 得到子元素集

13、public List<TextNode> textNodes()   得到元素的子文本節點集合。該集合不可修改但是文字節點可以被操縱。這是一個比較有效率的過濾文字節點的方法。

例如這段html:<p>One <span>Two</span> Three <br> Four</p>   用p元素來選擇。

  • p.text() = "One Two Three Four"
  • p.ownText() = "One Three Four"
  • p.children() = Elements[<span>, <br>]
  • p.childNodes() = List<Node>["One ", <span>, " Three ", <br>, " Four"]
  • p.textNodes() = List<TextNode>["One ", " Three ", " Four"]

14、public List<DataNode> dataNodes()   得到元素的子數據節點。該集合不可修改但是數據節點可以被操縱。這是一個比較有效率的過濾數據節點的方法。

15、public Elements select(String cssQuery)  查詢匹配CSS query選擇器的元素集。被匹配的元素可能是它本身,也可能是它的任意子元素。這種方法通常比使用DOM類型getelementby *的方法更強大,因爲多個過濾器可以結合。如:

  • el.select("a[href]") - finds links (a tags with href attributes)
  • el.select("a[href*=example.com]") - finds links pointing to example.com (loosely)

    16、public Element appendChild(Node child)  給元素增加一個子節點。要求該子節點沒有已經存在父類。

    17、public Element prependChild(Node child) 在該元素的子元素們的最前面增加一個子節點。要求該子節點沒有已經存在父類。

    18、public Element appendElement(String tagName)  使用tagName創建一個新的元素,然後把它作爲該元素的最後一個子元素。如:parent.appendElement("h1").attr("id", "header").text("Welcome");

    19、public Element prependElement(String tagName)  創建一個新的元素,然後把它作爲該元素的第一個子元素。

    20、public Element appendText(String text)   創建一個新的文字節點,然後追加到該元素中。

    21、public Element prependText(String text)   創建一個新的文字節點,置於該元素子元素的最前面。

    22、public Element append(String html)  增加一段html到該元素中,該html會被解析,然後每個節點都會置於元素末尾。

    23、public Element prepend(String html) 增加一段html到該元素中,該html會被解析,然後每個節點都會置於元素開頭。

    24、public Element before(String html)  在該元素前面插入一段指定的html到DOM樹中。比如用來作爲前面的兄弟節點。

    25、public Element before(Node node)  在該節點前面插入一個指定的節點到DOM樹中。比如用來作爲前面的兄弟節點。

    26、public Element after(String html)   在該元素後面插入一段指定的html到DOM樹中。比如用來作爲後面的兄弟節點。

    27、public Element after(Node node) 在該節點後面插入一個指定的節點到DOM樹中。比如用來作爲後面的兄弟節點。

    28、public Element empty()   移除該元素的所有子節點。

    29、public Element wrap(String html)  用提供的html包裝該元素。

    30、public Elements siblingElements()  得到元素的兄弟元素。該元素本身不包含在內。

    31、public Element nextElementSibling()   得到該元素的下一個兄弟元素。

    32、public Element previousElementSibling()   得到該元素的上一個兄弟元素。

    33、public Element firstElementSibling()   得到該元素的第一個兄弟元素。

    34、public Integer elementSiblingIndex()   得到該元素在兄弟元素集合中的索引。如果該元素是第一個,則返回0.

    35、public Element lastElementSibling()   得到該元素的最後一個兄弟元素。

    36、public Elements getElementsByTag(String tagName)   根據tagName查詢子元素集

    37、public Element getElementById(String id)   通過ID查找元素。包括元素本身和其子元素都在查詢範圍內。

    注意:該方法尋找的是從該元素開始的第一個匹配的ID對應的元素,如果從不同位置作爲起點去尋找可能得到不同的匹配該ID的元素

    38、public Elements getElementsByClass(String className)  尋找包含className的class的元素集。包括元素本身和其子元素都在查詢範圍內。不區分大小寫。元素集可能包含多個class(<div class="header round first">) 這個方法會檢測每一個class,所以你可以使用el.getElementsByClass("header")找到上面這個元素。

    39、public Elements getElementsByAttribute(String key)  通過元素屬性的鍵尋找元素集。

    40、public Elements getElementsByAttributeStarting(String keyPrefix)  根據屬性的前綴尋找元素。HTML5屬性集使用data-前綴

    41、public Elements getElementsByAttributeValue(String key, String value)  尋找屬性爲指定值的元素。不區分大小寫。

    42、public Elements getElementsByAttributeValueNot(String key, String value)   尋找不包含指定屬性的或者包含但有不同值的元素集。不區分大小寫。

    43、public Elements getElementsByAttributeValueStarting(String key, String valuePrefix)  尋找鍵爲key,值以valuePrefix開頭的元素集。

    44、public Elements getElementsByAttributeValueEnding(String key, String valueSuffix)  尋找鍵爲key,值以valueSuffix作爲後綴的元素集。

    45、public Elements getElementsByAttributeValueContaining(String key, String match)  尋找鍵爲key,值包含match的元素集。

    46、public Elements getElementsByAttributeValueMatching(String key, Pattern pattern)  尋找鍵爲key,值匹配給定的正則表達式的元素集。

    47、public Elements getElementsByAttributeValueMatching(String key, String regex)  尋找鍵爲key,值匹配給定的正則表達式的元素集。

    48、public Elements getElementsByIndexLessThan(int index)  尋找那些索引小於index的兄弟元素集。

    49、public Elements getElementsByIndexGreaterThan(int index)  尋找那些索引大於index的兄弟元素集。

    50、public Elements getElementsByIndexEquals(int index)  尋找那些索引等於index的兄弟元素集。

    51、public Elements getElementsContainingText(String searchText)  尋找包含searchText字符串的元素集。不區分大小寫。該文本可能直接出現在該元素中,也可能出現在其子孫元素中。

    52、public Elements getElementsContainingOwnText(String searchText)  尋找包含searchText字符串的元素集。不區分大小寫。該文本是出現在該元素中。而不是其子孫元素中。

    53、public Elements getElementsMatchingText(Pattern pattern)  尋找文本匹配給定正則表達式的元素集。

    54、public Elements getElementsMatchingText(String regex)  尋找文本匹配給定正則表達式的元素集。

    55、public Elements getElementsMatchingOwnText(Pattern pattern)   尋找自身文本匹配給定正則表達式的元素集。

    56、public Elements getElementsMatchingOwnText(String regex)  尋找自身文本匹配給定正則表達式的元素集。

    57、public Elements getAllElements()  尋找所有元素集,包含自身和其子孫。

    58、public String text()   得到該元素文本和和其子孫文本的結合。如:<p>Hello <b>there</b> now!</p>   p.text()會返回"Hello there now!"

    59、public String ownText()  得到該元素自身的文本。如:<p>Hello <b>there</b> now!</p> p.ownText()會返回"Hello now!"

    60、public Element text(String text)  設置元素的文本內容。之前任何存在的文本都會被清除掉。

    61、public boolean hasText()  測試該元素是否還有非空格的文本內容。

    62、public String data()   得到元素的數據結合。數據可以是腳本里面的。

    63、public String className()    得到元素class屬性的文本內容  可能包含多個class names,用空格分開。如;<div class="header gray"> 返回"header gray"。

    64、public Set<String> classNames()  得到元素的所有class names,如;<div class="header gray">,返回"header", "gray"的set集合

    65、public Element classNames(Set<String> classNames)  用提供的class names設置元素的class屬性。

    66、public boolean hasClass(String className)  測試元素是否含有一個指定的class,不區分大小寫。

    67、public Element addClass(String className)  給元素的class屬性增加一個className值。

    68、public Element removeClass(String className)  從元素的class屬性中移除指定值。

    69、public Element toggleClass(String className)  反轉class屬性的className值,有則移除,沒有則新增。

    70、public String val() 得到表單元素的值

    71、public Element val(String value)  設置表單元素的值

    72、public String html()  檢索元素的內部html

    73、public Element html(String html)  設置元素內部html,首先會清除存在的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章