Ich habe zwei XML-Dateien, die ich am Ende mit java in eine XML-Datei zusammenführen möchte.Zwei XML-Dateien in Java zusammenführen und zusätzliche Informationen hinzufügen
Format von File1:
<root>
<a>
<a>--include two lines under <a>
<c/>
</a>
<d/>
</root>
Format von File2:
<root>
<a>
<c/>
</a>
<d/> -- include 1 more line at the last
</root>
Kann mir jemand sagen, wie sie fusionieren ich diese Dateien nach der in bestimmten Informationen Hinzufügen von beiden Dateien.
Und das ist, was ich versucht habe, aber es ist nicht meine Absicht, zu lösen ..
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");
}
}
Versuchen Sie diesen Beitrag zu lesen, der ein ähnliches Problem behandelt - http://StackOverflow.com/Questions/648471/Merge-Two-XML-files-in-Java – Prashanth
@Sonu: Danke U ..! Aber wie verwende ich ein Trennzeichen, damit ich das Schreiben unerwünschter Elemente vermeiden kann? – dmurali
Sorry, habe nicht verstanden, was du meinst. Kannst du ein kleines Beispiel geben? – Prashanth