Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Dom4j


Автор: PovAnd 18.9.2007, 15:40
Можно ли  используя dom4j отыскать в xml-документе все nodes у которых есть атрибут - x. Если можно, то как.

На всякий случай опишу свою задачу. Имеется хибернетовский xml - мэппинг. Мне нужно сделать подобный же файл, только везде где встречается атрибут table я хочу к значению этого аттрибута добавить свой префикс.

Автор: Шмель 18.9.2007, 23:29
http://www.w3.org/TR/xpath в помощь

test.xml:
Код

<root>
    <elem attr="value!"/>
    <oneMore>
        <subElem attr="value2!"/>
    </oneMore>
</root>


Код

SAXReader r = new SAXReader();
Document doc = r.read(new File("./test.xml"));
List<Attribute> l = doc.selectNodes("//*/@attr"); 
for (Attribute a : l) 
    System.out.println("Node: " + a.getParent().getName());


//*/@attr - выражение XPath, означающее "извлечь значение атрибута attr из всех элементов". В нашем случае выведутся имена узлов elem и subElem

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)