2013-03-27 4 views
0

У меня есть два xml-файла, как показано ниже, и мне нужно прочитать узел из одного xml и добавить этот узел в другой XML-файл.
Добавить узел xml в существующий xml-файл из другого XML-файла с помощью java

Xml файл: 1

<A> 
    <B> 
    <c>1<c/> 
    <d>2<d/> 
    <e>3<e/> 
    </B> 
</A> 

Xml файл: 2

<AA> 
    <BB> 
    <cc>1<cc/> 
    <dd>2<dd/> 
    <ee>3<ee/> 
    <ff> 
     <gg>4</gg> 
    <ff> 
    </BB> 
</AA> 

РЕЗУЛЬТАТ

<A> 
    <B> 
     <BB> 
     <cc>1<cc/> 
     <dd>2<dd/> 
     <ee>3<ee/> 
     <ff> 
      <gg>4</gg> 
     <ff> 
     </BB> 
     <c>1<c/> 
     <d>2<d/> 
     <e>3<e/> 
    </B> 
</A> 

Любые советы, которые вы могли бы дать, очень ценятся.

+0

Прочитайте оба файла, объедините узлы в памяти, напишите в третий файл ... – Lucas

+0

Привет, Лукас, я прочитал оба файла, и я не могу извлечь узел из XML-файла: 2.Can u tell мне как это сделать –

+0

Использовать парсер SAX, StAX или DOM ... – Lucas

ответ

1

Чтобы расширить первое замечание Лукаса выше, вы можете попробовать использовать SimpleXML для чтения двух файлов XML в память, например, «десериализация». Пример кода для чтения XML в в объектах памяти выглядит следующим образом:

Serializer serializer = new Persister(); 
File source = new File("example.xml"); 

Example example = serializer.read(Example.class, source); 

Затем, когда вы объединили два результата в третий объект, который вы также можете использовать SimpleXML для записи третьего объекта в файл ака «сериализации» ,

Пример кода для записи файла XML с использованием в данных памяти:

Serializer serializer = new Persister(); 
Example example = new Example("Example message", 123); 
File result = new File("example.xml"); 

serializer.write(example, result); 

SimpleXML имеет good tutorial и могут быть импортированы путем добавления Maven dependency.

Проведите небольшое время, прочитав учебное пособие, и оно должно заставить вас двигаться в правильном направлении.

+0

работает хорошо, но данные не добавляются, данные переписываются –

Смежные вопросы