The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
В отличие от многих других современных языков, разбор XML в Java требует более одной строки кода. Обход XML с использованием XPath требует еще больше кода, и я считаю это несправедливым и раздражающим.
Я являюсь большим поклонником XML и использую его практически в каждом приложении на Java. Некоторое время назад я решил поместить весь код разбора XML в DOM в небольшую библиотеку - jcabi-xml.
Просто говоря, библиотека представляет собой удобную обертку для манипуляций DOM, встроенных в JDK. Вот почему она мала и не зависит от других библиотек. С помощью следующего примера вы можете увидеть, насколько просто может быть разбор XML:
Теперь у нас есть объект интерфейса XML
, который может обходить XML-дерево и преобразовывать его обратно в текст.
// outputs "hello"
System.out.println(xml.xpath("/root/a/text()").get(0));
// outputs the entire XML document
System.out.println(xml.toString());
Метод xpath()
позволяет найти коллекцию текстовых узлов или атрибутов в документе, а затем преобразовать их в коллекцию строк, используя запрос XPath.
Метод nodes()
выполняет ту же операцию поиска XPath, но вместо этого возвращает коллекцию экземпляров интерфейса XML
.
Помимо разбора XML, печати и обхода XPath, jcabi-xml также предоставляет проверку XSD и XSL-преобразования. Я расскажу о этих функциях в следующем сообщении.
PS. Также, проверьте это: XML/XPath Matchers для Hamcrest.
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-16 at 15:07