Учебники

jsoup — установить атрибуты

В следующем примере будет продемонстрировано использование метода для установки атрибутов элемента dom, массовых обновлений и добавления / удаления методов класса после анализа строки HTML в объекте Document.

Синтаксис

Document document = Jsoup.parse(html);
Element link = document.select("a").first();         
link.attr("href","www.yahoo.com");     
link.addClass("header"); 
link.removeClass("header");    

куда

  • document — объект документа представляет HTML DOM.

  • Jsoup — основной класс для разбора заданной строки HTML.

  • HTML — строка HTML.

  • link — Элемент Element представляет элемент HTML-узла, представляющий тег привязки.

  • Метод link.attr () — attr (attribute, value) устанавливает для атрибута элемента соответствующее значение.

  • link.addClass () — метод addClass (class) добавляет класс под атрибутом class.

  • link.removeClass () — метод removeClass (class) удаляет класс под атрибутом class.

document — объект документа представляет HTML DOM.

Jsoup — основной класс для разбора заданной строки HTML.

HTML — строка HTML.

link — Элемент Element представляет элемент HTML-узла, представляющий тег привязки.

Метод link.attr () — attr (attribute, value) устанавливает для атрибута элемента соответствующее значение.

link.addClass () — метод addClass (class) добавляет класс под атрибутом class.

link.removeClass () — метод removeClass (class) удаляет класс под атрибутом class.

Описание

Элемент element представляет элемент dom и предоставляет различные методы для получения атрибута элемента dom.

пример

Создайте следующую Java-программу, используя любой редактор по вашему выбору, например, C: /> jsoup.

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         + "<div class='comments'><a href='www.sample1.com'>Sample1</a>"
         + "<a href='www.sample2.com'>Sample2</a>"
         + "<a href='www.sample3.com'>Sample3</a><div>"
         +"</div>"
         + "<div id='imageDiv' class='header'><img name='google' src='google.png' />"
         + "<img name='yahoo' src='yahoo.jpg' />"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //Example: set attribute
      Element link = document.getElementById("googleA");
      System.out.println("Outer HTML Before Modification :"  + link.outerHtml());
      link.attr("href","www.yahoo.com");      
      System.out.println("Outer HTML After Modification :"  + link.outerHtml());
      System.out.println("---");
      
      //Example: add class
      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :"  + div.outerHtml());
      link.addClass("header");      
      System.out.println("Outer HTML After Modification :"  + div.outerHtml());
      System.out.println("---");
      
      //Example: remove class
      Element div1 = document.getElementById("imageDiv");
      System.out.println("Outer HTML Before Modification :"  + div1.outerHtml());
      div1.removeClass("header");      
      System.out.println("Outer HTML After Modification :"  + div1.outerHtml());
      System.out.println("---");
      
      //Example: bulk update
      Elements links = document.select("div.comments a");
      System.out.println("Outer HTML Before Modification :"  + links.outerHtml());
      links.attr("rel", "nofollow");
      System.out.println("Outer HTML Before Modification :"  + links.outerHtml());
   }
}

Проверьте результат

Скомпилируйте класс с помощью компилятора javac следующим образом:

C:\jsoup>javac JsoupTester.java

Теперь запустите JsoupTester, чтобы увидеть результат.

C:\jsoup>java JsoupTester

Смотрите результат.