[java] XML 파일에서 특정 요소를 다른 요소로 복사하기

이 블로그 게시물에서는 Java에서 XML 파일을 다루는 방법 중 하나로 특정 요소를 복사하고 다른 요소로 붙여넣는 방법에 대해 알아보겠습니다.

XML 파일 다루기

XML은 데이터를 저장하고 전송하기 위한 마크업 언어로 많이 사용됩니다. Java에서는 javax.xml.* 패키지를 사용하여 XML을 다룰 수 있습니다.

XML 요소 복사하기

Java에서 XML 요소를 복사하고 붙여넣기 위해서는 DOM(Document Object Model)을 사용할 수 있습니다. 다음은 XML 파일로부터 특정 요소를 찾아서 새로운 요소로 복사하는 예제 코드입니다.

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.Element;

public class XmlElementCopy {
   public static void main(String[] args) {
      try {
         File inputFile = new File("input.xml");
         DocumentBuilderFactory dbFactory 
            = DocumentBuilderFactory.newInstance();
         DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
         Document doc = dBuilder.parse(inputFile);

         doc.getDocumentElement().normalize();
         NodeList nList = doc.getElementsByTagName("oldElement");

         for (int temp = 0; temp < nList.getLength(); temp++) {
            Node nNode = nList.item(temp);
            if (nNode.getNodeType() == Node.ELEMENT_NODE) {
               Element eElement = (Element) nNode;
               Element newElement = (Element) eElement.cloneNode(true);
               // 다른 요소에서 참조할 경우
               // Element targetElement = (Element) doc.getElementsByTagName("targetElement").item(0);
               // targetElement.appendChild(newElement);
            }
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

위 코드에서 oldElement를 찾아서 그것을 복사한 후 targetElement에 추가하는 예시입니다.

마치며

XML 파일에서 특정 요소를 복사하여 다른 요소로 붙여넣는 방법을 살펴보았습니다. 이를 응용하여 다양한 XML 파일 다루기를 구현할 수 있을 것입니다. 도움이 되었길 바랍니다.

참고자료