Селекторы CSS используются для обработки определенных элементов в документе HTML. В этой статье рассматриваются различные примеры селекторов CSS, таких как QuerySelector и QuerySelectorAll, для программного обновления первого экземпляра элемента или всех экземпляров элемента в Java.
- Использование селекторов CSS в HTML — установка Java API
- Использование селектора CSS QuerySelector в Java
- Работа с селектором CSS QuerySelectorAll в HTML с использованием Java
Использование селекторов CSS в HTML — установка Java API
Aspose.HTML для 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");
Работа с селектором CSS QuerySelectorAll в HTML с использованием Java
Вам необходимо выполнить следующие шаги для обработки элементов с помощью селектора CSS QuerySelectorAll в Java:
- Подготовьте HTML-код.
- Инициализируйте документ с помощью класса HTMLDocument.
- Создайте селектор CSS, который извлекает все соответствующие элементы в документе.
- Перебрать полученный список элементов и обработать их.
Пример кода ниже является примером того, как программно работать с селектором CSS QuerySelectorAll с помощью 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, который извлекает все элементы, чей атрибут «класс» равен «счастливому», и их дочерние элементы 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 для Java
Вы можете ознакомиться с различными разделами в разделе [документация][7], в которых объясняется, как использовать функции, предлагаемые API.
Вывод
В заключение вы узнали, как программно работать с различными селекторами CSS, такими как QuerySelector и QuerySelectorAll, в Java. Вы можете перебирать различные элементы, соответствующие критериям выбора, исходя из ваших требований. Если вы хотите обсудить какой-либо из ваших вопросов, напишите нам на форум.