myコード(xmlFileName[0]、xmlFileName[1]のitem要素以下を、ルートのAuctionCategoryLeaf以下に追加している。) DocumentBuilder DB = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document d1 = DB.parse(xmlFileName[0]); Document d2 = DB.parse(xmlFileName[1]); NodeList nodeList=d2.getElementsByTagName("item"); Node CategoryNode=d1.getElementsByTagName("AuctionCategoryLeaf").item(0); for (int i=0;i<nodeList.getLength();i++) { Node addNode = d1.importNode(nodeList.item(i),true); CategoryNode.appendChild(addNode); }
myコード TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer0 = factory.newTransformer(); //↓DOMのDocumentやNodeを指定。 DOMSource source = new DOMSource(Document); File newXML = new File("newXML.xml"); FileOutputStream os = new FileOutputStream(newXML); StreamResult result = new StreamResult(os); transformer0.transform(source, result);
クラスパスに、C:\JAVA\lib\xerces-2_8_0\xercesImpl.jar を追加。 myコード transformer.transform(source, result); // 結果DOMツリーの取得 Document resultDoc = (Document)result.getNode(); // 出力フォーマットの設定 OutputFormat formatter = new OutputFormat(resultDoc, "UTF-8", true); // 出力ストリーム Writer out = new OutputStreamWriter(new FileOutputStream("DOMresult.xml"), "UTF-8"); // シリアライザの設定 XMLSerializer serializer = new XMLSerializer(out, formatter); // シリアライズ(直列化) serializer.serialize(resultDoc); // 出力ストリームのクローズ out.close();