Posted in XML 12 years ago 4 min read
<?xml version="1.0"?> <penerbit> <buku> <judul><![CDATA[Al Umm jil. 1]]></judul> <penulis><![CDATA[Pengarang: Imam Syafi’iTebal: 824 hal.Pembahasan: · Biografi Imam Syafi..]]></penulis> <keterangan><![CDATA[Rp109.650]]></keterangan> <sumber><![CDATA[sahabatmuslim]]></sumber> </buku> </penerbit>
<?xml version="1.0"?> <penerbit> <buku> <judul><![CDATA[[AZ-347] Al Mughni jilid 1]]></judul> <penulis><![CDATA[Ibnu Qudamah]]></penulis> <keterangan><![CDATA[Rp104.550,00]]></keterangan> <sumber><![CDATA[buku-islam]]></sumber> </buku> </penerbit>Selanjutnya kita akan menggabungkan kedua file XML tersebut.
JoinXML Project[/caption]
Berikut ini adalah tampilan dari file JoinForm.java
[caption id="" align="alignnone" width="411"]
JoinForm.java[/caption]
Untuk nama variabel anda dapat melihat component di navigator berikut. Disesuaikan saja, text field paling atas (dari JoinForm.java) berarti txtPath1, button Browse paling atas berarti btnBrowse1. dan seterusnya.
[caption id="" align="alignnone" width="235"]
Component Navigator[/caption]
private void btnBrowse1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser jfc = new JFileChooser();
jfc.showOpenDialog(null);
File file = jfc.getSelectedFile();
dir = file.getAbsolutePath();
txtPath1.setText(dir);
}
Oh iya, sebelumnya jangan lupa deklarasikan variabel dir di bawah class utama.
public class JoinForm extends javax.swing.JFrame {
private String dir;
private String dir2;
private String fileName;
Klik dua kali juga pada button Browse yang kedua (btnBrowse2) dan sesuaikan dengan source berikut ini.
private void btnBrowse2ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser jfc2 = new JFileChooser();
jfc2.showOpenDialog(null);
File file = jfc2.getSelectedFile();
dir2 = file.getAbsolutePath();
txtPath2.setText(dir2);
}
Langkah terakhir, berikan event juga untuk button Merge dengan cara klik dua kali dan sesuaikan dengan source code berikut ini.
private void btnMergeActionPerformed(java.awt.event.ActionEvent evt) {
fileName = txtMergedFile.getText();
Writer output;
try {
output = new BufferedWriter(new FileWriter(fileName));
String newline = System.getProperty("line.separator");
output.write("<?xml version=\"1.0\"?>");
output.write("<penerbit>");
// Read in xml file 1
FileInputStream in = new FileInputStream(dir);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
if (strLine.contains("<?xml version=\"1.0\"?>")){
strLine = strLine.replace("<?xml version=\"1.0\"?>", "");
}
if (strLine.contains("<penerbit>")){
strLine = strLine.replace("<penerbit>", "");
}
if (strLine.contains("</penerbit>")){
strLine = strLine.replace("</penerbit>", "");
}
output.write(newline);
output.write(strLine);
//System.out.println(strLine);
}
// Read in xml file 2
FileInputStream in2 = new FileInputStream(dir2);
BufferedReader br2 = new BufferedReader(new InputStreamReader(in2));
String strLine2;
while ((strLine2 = br2.readLine()) != null) {
if (strLine2.contains("<?xml version=\"1.0\"?>")){
strLine2 = strLine2.replace("<?xml version=\"1.0\"?>", "");
}
if (strLine2.contains("<penerbit>")){
strLine2 = strLine2.replace("<penerbit>", "");
}
if (strLine2.contains("</penerbit>")){
strLine2 = strLine2.replace("</penerbit>", "");
}
output.write(strLine2);
output.write(newline);
//System.out.println(strLine2);
}
output.write("</penerbit>");
output.close();
JOptionPane.showMessageDialog(null, "Merge Complete!");
} catch (IOException ex) {
Logger.getLogger(JoinForm.class.getName()).log(Level.SEVERE, null, ex);
}
}
Untuk file JoinXML.java isikan saja mirip dengan tutorial di Memperbaiki Tampilan Program Java di Netbeans, yaitu sesuaikan dengan source berikut.
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {
} finally{
new JoinForm().setVisible(true);
}
}
Sekarang program anda telah selesai, cobalah untuk me-run program anda, dan pilih file XML yang serupa untuk digabungkan. Berikut ini adalah tampilan program ketika di run
[caption id="" align="alignnone" width="416"]
Merge XML Program[/caption]
Tampilan ketika berhasil menggabungkan kedua file XML tersebut.
[caption id="" align="alignnone" width="412"]
Merge XML Sukses[/caption]
Anda dapat mengecek file xml baru hasil dari join kedua file XML.
<?xml version="1.0"?> <penerbit> <buku> <judul><![CDATA[Al Umm jil. 1]]></judul> <penulis><![CDATA[Pengarang: Imam Syafi’iTebal: 824 hal.Pembahasan: · Biografi Imam Syafi..]]></penulis> <keterangan><![CDATA[Rp109.650]]></keterangan> <sumber><![CDATA[sahabatmuslim]]></sumber> </buku> <buku> <judul><![CDATA[[AZ-347] Al Mughni jilid 1]]></judul> <penulis><![CDATA[Ibnu Qudamah]]></penulis> <keterangan><![CDATA[Rp104.550,00]]></keterangan> <sumber><![CDATA[buku-islam]]></sumber> </buku> </penerbit>Selamat mencoba.