Я снова и снова пишу один и тот же подробный код манипулирования DOM:
Element e1 = document.createElement("some-name");
e1.setAttribute("attr1", "val1");
e2.setAttribute("attr2", "val2");
document.appendChild(e1);
Element e2 = document.createElement("some-other-name");
e.appendChild(e2);
// Etc, the same for attributes and finding the nodes again:
Element e3 = (Element) document.getElementsByTagName("some-other-name").item(0);
Теперь я не хочу все вместе переключать архитектуру, т.е. я не хочу использовать JDOM, JAXBили что-нибудь еще.Просто Java org.w3c.dom
.Причины этого
- Это старая и большая устаревшая система
- XML используется во многих местах, и XSLT несколько раз трансформировался для получения XML, HTML, PDF вывода
- Я просто ищу удобство, а не большие изменения.
Мне просто интересно, есть ли хорошая библиотека-обертка (например, с Apache Commons или Google), которая позволяет мнеделайте такие вещи с беглым стилем, похожим на jRTF :
// create a wrapper around my DOM document and manipulate it:
// like in jRTF, this code would make use of static imports
dom(document).add(
element("some-name")
.attr("attr1", "val1")
.attr("attr2", "val2")
.add(element("some-other-name")),
element("more-elements")
);
, а затем
Element e3 = dom(document).findOne("some-other-name");
Важное требование, которое у меня есть, заключается в том, что я явно хочуоперировать org.w3c.dom.Document
, который
- уже существует
- довольно большой
- нуждается в небольшом количестве манипуляций
Таким образом, преобразованиеorg.w3c.dom.Document
в JDOM, dom4j и т. д. кажется плохой идеей.Я бы предпочел оборачивать его адаптерами.
Если его не существует, я мог бы свернуть свой, так как этот синтаксис jRTF выглядит действительно хорошо!А для XML это кажется довольно простым для реализации, так как существует всего несколько типов узлов.Это может стать таким же мощным, как jquery, с точки зрения API!