Селектори CSS використовуються для обробки певних елементів у документі HTML. У цій статті розглядаються різні приклади селекторів CSS, як-от QuerySelector і QuerySelectorAll, для програмного оновлення першого екземпляра елемента або всіх екземплярів елемента в Java.
- Використовуйте селектори CSS у HTML – встановлення Java API
- Використовуйте селектор CSS QuerySelector у Java
- Робота з QuerySelectorAll CSS Selector у HTML за допомогою Java
Використовуйте селектори CSS у HTML – встановлення Java API
Aspose.HTML for Java API підтримує маніпулювання або перетворення HTML, MHTML, SVG та інших форматів файлів. Ви можете швидко налаштувати його, завантаживши файли JAR із розділу Нові випуски або використавши наведені нижче відомості у файлі pom.xml. Це дозволить включити API з Aspose Repository у ваш проект:
Репозиторій:
<repositories>
<repository>
<id>snapshots</id>
<name>repo</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
Залежність:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>22.9</version>
<classifier>jdk18</classifier>
</dependency>
</dependencies>
Використовуйте селектор CSS QuerySelector у Java
Наступні кроки демонструють, як використовувати селектор CSS QuerySelector у Java:
- Завантажте вхідний HTML за допомогою класу HTMLDocument.
- Створіть селектор CSS, який витягує елемент першого абзацу.
- Вивести зміст першого абзацу.
- Встановити атрибут стилю з властивостями для вибраного елемента.
- Збережіть вихідний документ HTML.
Наведений нижче фрагмент коду пояснює, як використовувати селектор CSS QuerySelector у Java:
// Підготуйте шлях до вихідного файлу HTML
String documentPath = dataDir + "queryselector.html";
// Створіть екземпляр документа HTML
var document = new com.aspose.html.HTMLDocument(documentPath);
// Тут ми створюємо селектор CSS, який виділяє перший елемент абзацу в документі
var element = document.querySelector("p");
// Вивести зміст першого абзацу
System.out.println(element.getInnerHTML());
// вихід: метод QuerySelector() повертає перший елемент у документі, який відповідає вказаному селектору.
// Встановити атрибут стилю з властивостями для вибраного елемента
element.setAttribute("style", "color:rgb(50,150,200); background-color:#e1f0fe;");
// Збережіть документ HTML у файл
document.save(dataDir + "queryselector-p.html");
Робота з QuerySelectorAll CSS Selector у HTML за допомогою Java
Вам потрібно виконати наведені нижче кроки, щоб обробити елементи за допомогою селектора CSS QuerySelectorAll у Java:
- Підготуйте HTML-код.
- Ініціалізуйте документ за допомогою класу HTMLDocument.
- Створіть селектор CSS, який витягне всі відповідні елементи в документі.
- Перегляньте отриманий список елементів і обробіть їх.
Наведений нижче приклад коду є прикладом того, як програмно працювати з QuerySelectorAll CSS Selector за допомогою Java:
// Підготуйте 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";
// Ініціалізація документа на основі підготовленого коду
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument(code, ".");
try {
// Тут ми створюємо селектор CSS, який вилучає всі елементи, атрибут 'class' яких дорівнює 'happy', і їхні дочірні елементи SPAN
com.aspose.html.collections.NodeList elements = document.querySelectorAll(".happy span");
// Перегляньте отриманий список елементів
elements.forEach(element -> {
System.out.println(((com.aspose.html.HTMLElement) element).getInnerHTML());
});
} finally {
if (document != null) {
document.dispose();
}
}
Дослідіть Aspose.HTML for Java
Ви можете переглянути різні розділи в розділі [документація][7], де пояснюється, як використовувати функції, які пропонує API.
Висновок
Підсумовуючи, ви навчилися програмно працювати з різними селекторами CSS, такими як QuerySelector і QuerySelectorAll, у Java. Ви можете перебирати різні елементи, які відповідають критеріям відбору на основі ваших вимог. Якщо ви хочете обговорити будь-який із своїх запитів, напишіть нам на форум.