Во-первых, я бы проверил классы в пакетах javax.xml
.Пакет javax.xml.parsers
содержит парсеры для двух стилей синтаксического анализа: SAXParser и DocumentBuilder.Похоже, вы хотите, чтобы DocumentBuilder создал DOM.Вы можете либо пройти DOM вручную (медленно и мучительно), либо использовать стандарт XPath для поиска элементов в DOM.Поддержка Java для этого есть в javax.xml.xpath
.
XPathExpression xpath = XPath.compile("//@style");
Object results = xpath.evaluate(dom, XPathConstants.NODESET);
Вы несете ответственность за преобразование результатов в NodeList и правильную итерацию, но это самый прямой способ получить то, что вы хотите.Обратитесь к API DOM Java для получения дополнительной информации о чтении и изменении значений.
Я не верю, что есть какая-либо поддержка синтаксического анализатора CSS, встроенного в Java, но вы можете посмотреть на следующие проекты:
Это может помочь вам в достижении ваших целей.ПРИМЕЧАНИЕ: CSS-анализатор Batik включен в более крупный проект Apache Batik: http://xmlgraphics.apache.org/batik/index.html, который может иметь больше, чем нужно, но это корпоративная лицензия.