私は、最後の1つのXMLファイルにjavaを使用してマージしたい2つのXMLファイルを持っています。ファイル1のJavaで2つのXMLファイルをマージし、余分な情報を追加する
フォーマット:File2のの
<root>
<a>
<a>--include two lines under <a>
<c/>
</a>
<d/>
</root>
フォーマット:
<root>
<a>
<c/>
</a>
<d/> -- include 1 more line at the last
</root>
誰もが、私は両方のファイルに特定の情報を追加した後、これらのファイルをマージしない方法を教えてもらえます。
そして、これは私が試したものであるが、それは私の目的を解決していません。..
public class Xml {
public static void main(String[] args) throws Exception {
Writer output = null;
output = new BufferedWriter(new FileWriter("H:\\merged_xml.xml"));
String newline = System.getProperty("line.separator");
output.write("<a>");
// Read in xml file 1
FileInputStream in = new FileInputStream("file1.xml");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
if (strLine.contains("<a>")){
strLine = strLine.replace("<a>", "info to include");
}
if (strLine.contains("</a>")){
strLine = strLine.replace("</a>", "info to include");
}
output.write(newline);
output.write(strLine);
System.out.println(strLine);
}
// Read in xml file 2
FileInputStream in2 = new FileInputStream("file2.xml");
BufferedReader br2 = new BufferedReader(new InputStreamReader(in2));
String strLine2;
while ((strLine2 = br2.readLine()) != null) {
if (strLine2.contains("<d>")){
strLine2 = strLine2.replace("<d>", "info to include");
}
output.write(strLine2);
output.write(newline);
System.out.println(strLine2);
}
output.write("</d>");
output.close();
System.out.println("Merge Complete");
}
}
同様の問題について説明しているこの記事をチェックしてみてください - http://stackoverflow.com/questions/648471/merge-two-xml-files-in-java – Prashanth
@Sonu:ありがとうU ..!しかし、どのように私は不要な要素を書くことを避けることができるように区切り文字を使用しますか? – dmurali
申し訳ありませんが、あなたが意味するものは得られませんでした。あなたは小さな例を挙げることができますか? – Prashanth