2013-12-23 69 views
2

我想在執行pom.xml期間合併​​兩個xml文件。如何合併兩個XML文件與Maven?

文件1:

<A> 
<B/> 
</A> 

文件2:

<A> 
<C/> 
</A> 

結果文件:

<A> 
<B/> 
<C/> 
</A> 

我可以使用哪些插件?

非常感謝!

+1

的使用,答案是:使用XSLT作爲由[SO-問題描述:合併,二,XML的文件 - 使用-xslt] [1] [1]:http://stackoverflow.com/questions/19021205/merging-two-xml-files-using-xslt –

+0

謝謝您的回覆;) – holegeek

回答

2

喲可以使用下面的代碼在指定的xpath處合併兩個xml文件 root是您需要合併另一個xml的xml。 insertDoc是你需要添加/你甚至可以傳遞節點的文檔。而xpath是你需要添加第二個xml的xml路徑。

public void generateDocument(Document root, Document insertDoc, String xpath) { 

     if (null != root) { 

      Node element = insertDoc.getDocumentElement(); 
      Node dest = root.importNode(element, true); 

      try { 
       Node node = getNode(root, xpath); 
       node.insertBefore(dest, null); 
      } catch (ParserConfigurationException ex) { 
       Logger.getLogger(ProcessXML.class.getName()).log(Level.SEVERE, 
         null, ex); 
      } catch (SAXException ex) { 
       Logger.getLogger(ProcessXML.class.getName()).log(Level.SEVERE, 
         null, ex); 
      } catch (IOException ex) { 
       Logger.getLogger(ProcessXML.class.getName()).log(Level.SEVERE, 
         null, ex); 
      } catch (XPathExpressionException ex) { 
       Logger.getLogger(ProcessXML.class.getName()).log(Level.SEVERE, 
         null, ex); 
      } 

     } 

而且可以重複使用exec-Maven的插件執行的Java代碼是指插件 here