Selektory CSS służą do przetwarzania określonych elementów w dokumencie HTML. W tym artykule opisano różne przykłady selektorów CSS, takich jak QuerySelector i QuerySelectorAll, służące do programistycznej aktualizacji pierwszego wystąpienia elementu lub wszystkich wystąpień elementu w Javie.
- Użyj selektorów CSS w HTML - Instalacja API Java
- Użyj CSS Selector QuerySelector w Javie
- Pracuj z QuerySelectorAll CSS Selector w HTML przy użyciu Java
Użyj selektorów CSS w HTML - Instalacja API Java
Aspose.HTML for Java API obsługuje manipulowanie lub konwertowanie HTML, MHTML, SVG i innych formatów plików. Możesz to szybko skonfigurować, pobierając pliki JAR z sekcji Nowe wydania lub korzystając z poniższych informacji w pliku pom.xml po Twojej stronie. Spowoduje to włączenie API z Aspose Repository do Twojego projektu:
Magazyn:
<repositories>
<repository>
<id>snapshots</id>
<name>repo</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
Zależność:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>22.9</version>
<classifier>jdk18</classifier>
</dependency>
</dependencies>
Użyj CSS Selector QuerySelector w Javie
Poniższe kroki pokazują, jak używać selektora CSS QuerySelector w Javie:
- Załaduj wejściowy kod HTML z klasą HTMLDocument.
- Utwórz selektor CSS, który wyodrębnia pierwszy element akapitu.
- Wydrukuj treść pierwszego akapitu.
- Ustaw atrybut stylu z właściwościami dla wybranego elementu.
- Zapisz wyjściowy dokument HTML.
Poniższy fragment kodu wyjaśnia, jak używać selektora CSS QuerySelector w Javie:
// Przygotuj ścieżkę do źródłowego pliku HTML
String documentPath = dataDir + "queryselector.html";
// Utwórz instancję dokumentu HTML
var document = new com.aspose.html.HTMLDocument(documentPath);
// Tutaj tworzymy selektor CSS, który wyodrębnia pierwszy element akapitu w dokumencie
var element = document.querySelector("p");
// Wydrukuj treść pierwszego akapitu
System.out.println(element.getInnerHTML());
// wyjście: Metoda QuerySelector() zwraca pierwszy element w dokumencie, który pasuje do określonego selektora.
// Ustaw atrybut stylu z właściwościami dla wybranego elementu
element.setAttribute("style", "color:rgb(50,150,200); background-color:#e1f0fe;");
// Zapisz dokument HTML do pliku
document.save(dataDir + "queryselector-p.html");
Pracuj z QuerySelectorAll CSS Selector w HTML przy użyciu Java
Musisz wykonać poniższe kroki, aby przetwarzać elementy za pomocą selektora CSS QuerySelectorAll w Javie:
- Przygotuj kod HTML.
- Zainicjuj dokument przy użyciu klasy HTMLDocument.
- Utwórz selektor CSS, który wyodrębni wszystkie pasujące elementy w dokumencie.
- Iteruj po wynikowej liście elementów i przetwarzaj je.
Poniższy przykładowy kod jest przykładem programistycznej pracy z QuerySelectorAll CSS Selector przy użyciu języka Java:
// Przygotuj kod HTML
String code = "< div class='happy' >\n" +
" <div >\n" +
" <span > Hello </span >\n" +
" </div >\n" +
" </div >\n" +
" <p class='happy' >\n" +
" <span > World ! </span >\n" +
" </p >\n";
// Zainicjuj dokument na podstawie przygotowanego kodu
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument(code, ".");
try {
// Tutaj tworzymy selektor CSS, który wyodrębnia wszystkie elementy, których atrybut „class” jest równy „happy” i ich elementy potomne SPAN
com.aspose.html.collections.NodeList elements = document.querySelectorAll(".happy span");
// Iteruj po wynikowej liście elementów
elements.forEach(element -> {
System.out.println(((com.aspose.html.HTMLElement) element).getInnerHTML());
});
} finally {
if (document != null) {
document.dispose();
}
}
Przeglądaj Aspose.HTML dla Javy
Możesz zajrzeć do różnych sekcji w obszarze [dokumentacja][7], które wyjaśniają, jak korzystać z funkcji oferowanych przez API.
Wniosek
Podsumowując, nauczyłeś się, jak programowo pracować z różnymi selektorami CSS, takimi jak QuerySelector i QuerySelectorAll, w Javie. Możesz przeglądać różne elementy, które spełniają kryteria wyboru na podstawie Twoich wymagań. Jeśli chcesz przedyskutować swoje pytania, napisz do nas na forum.