Как поменять местами два XML-элемента с помощью DOM Parser / Java

#java #xml #dom #xml-parsing

#java #xml #dom #xml-синтаксический анализ

Вопрос:

У меня есть XML-документ-

 <?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<Companies>
<company id="ABHISHEK">
    <staff id="1">
        <firstname>yong</firstname>
        <lastname>mook kim</lastname>
        <nickname>mkyong</nickname>
        <salary>100000</salary>
    </staff>
</company>
<company id="RAHUL">
    <staff id="2">
        <firstname>yong</firstname>
        <lastname>mook kim</lastname>
        <nickname>mkyong</nickname>
        <salary>100000</salary>
    </staff>
</company>
</Companies>
  

Теперь я хочу поменять местами категории ABHISHEK и RAHUL, чтобы в xml сравнение с идентификатором RAHUL шло первым, а затем ABHISHEK.
Существует ли какой-либо существующий API для этого?

Ответ №1:

Да, взгляните на org.w3c.dom пакет и Node интерфейс.

Если порядок элементов <company> зависит от некоторого порядка сортировки, возможно, XSLT является лучшей альтернативой.

Комментарии:

1. rootElement.insertBefore(secondChild, ParentChild); эта логика сработала