CSS-väljare används för att bearbeta specifika element i ett HTML-dokument. Den här artikeln täcker olika exempel på CSS-väljare som QuerySelector och QuerySelectorAll för att uppdatera första instans av ett element eller alla instanser av ett element programmatiskt i Java.
- Använd CSS-väljare i HTML - Java API-installation
- Använd CSS Selector QuerySelector i Java
- Arbeta med QuerySelectorAll CSS Selector i HTML med Java
Använd CSS-väljare i HTML - Java API-installation
Aspose.HTML for Java API stöder manipulering eller konvertering av HTML, MHTML, SVG och andra filformat. Du kan snabbt ställa in det genom att ladda ner JAR-filerna från avsnittet New Releases eller använda följande information i filen pom.xml på din sida. Detta kommer att aktivera API från Aspose Repository till ditt projekt:
Förvar:
<repositories>
<repository>
<id>snapshots</id>
<name>repo</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
Beroende:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>22.9</version>
<classifier>jdk18</classifier>
</dependency>
</dependencies>
Använd CSS Selector QuerySelector i Java
Följande steg visar hur man använder CSS-väljaren QuerySelector i Java:
- Ladda inmatnings-HTML med klassen HTMLDocument.
- Skapa en CSS-väljare som extraherar det första styckeelementet.
- Skriv ut innehållet i första stycket.
- Ställ in stilattribut med egenskaper för det valda elementet.
- Spara HTML-dokumentet.
Kodavsnittet nedan förklarar hur du använder CSS-väljaren QuerySelector i Java:
// Förbered sökvägen till HTML-källfilen
String documentPath = dataDir + "queryselector.html";
// Skapa en instans av ett HTML-dokument
var document = new com.aspose.html.HTMLDocument(documentPath);
// Här skapar vi en CSS Selector som extraherar det första styckeelementet i dokumentet
var element = document.querySelector("p");
// Skriv ut innehållet i första stycket
System.out.println(element.getInnerHTML());
// output: Metoden QuerySelector() returnerar det första elementet i dokumentet som matchar den angivna väljaren.
// Ställ in stilattribut med egenskaper för det valda elementet
element.setAttribute("style", "color:rgb(50,150,200); background-color:#e1f0fe;");
// Spara HTML-dokumentet till en fil
document.save(dataDir + "queryselector-p.html");
Arbeta med QuerySelectorAll CSS Selector i HTML med Java
Du måste följa stegen nedan för att bearbeta element med hjälp av QuerySelectorAll CSS-väljaren i Java:
- Förbered en HTML-kod.
- Initiera ett dokument med klassen HTMLDocument.
- Skapa en CSS-väljare som extraherar alla matchande element i dokumentet.
- Iterera över den resulterande listan med element och bearbeta dem.
Kodexemplet nedan är ett exempel på hur man arbetar med QuerySelectorAll CSS Selector programmatiskt med Java:
// Förbered en HTML-kod
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";
// Initiera ett dokument baserat på den förberedda koden
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument(code, ".");
try {
// Här skapar vi en CSS-väljare som extraherar alla element vars "class"-attribut är lika med "happy" och deras underordnade SPAN-element
com.aspose.html.collections.NodeList elements = document.querySelectorAll(".happy span");
// Iterera över den resulterande listan med element
elements.forEach(element -> {
System.out.println(((com.aspose.html.HTMLElement) element).getInnerHTML());
});
} finally {
if (document != null) {
document.dispose();
}
}
Utforska Aspose.HTML för Java
Du kan ta en titt på olika avsnitt under [dokumentation][7] utrymmet som förklarar hur man använder funktionerna som erbjuds av API:et.
Slutsats
Sammanfattningsvis har du lärt dig hur du arbetar med olika CSS-väljare som QuerySelector och QuerySelectorAll programmatiskt i Java. Du kan iterera genom olika element som uppfyller urvalskriterierna utifrån dina krav. Om du vill diskutera någon av dina frågor, skriv till oss på forum.