1. 程式人生 > >在已經有xml檔案的情況下快速生成javabean

在已經有xml檔案的情況下快速生成javabean

開發過程中,經常遇到介面給了xml,需要轉化成javabean,欄位比較少還好,幾十個欄位或者更多的話,一個個欄位去手打實在太麻煩了,我寫了一個小工具來自動生成,省了不少事。

先貼程式碼

package Test;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import
java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; //實現介面ActionListener public class Test implements ActionListener { JFrame jf; JPanel jpanel; JButton jb1, jb2, jb3, jb4; JTextArea jta = null
; JScrollPane jscrollPane; public Test() { jf = new JFrame("xml生成javabean工具"); Container contentPane = jf.getContentPane(); contentPane.setLayout(new BorderLayout()); jta = new JTextArea(10, 15); jta.setTabSize(4); jta.setFont(new Font("標楷體", Font.BOLD, 16
)); jta.setLineWrap(true);// 啟用自動換行功能 jta.setWrapStyleWord(true);// 啟用斷行不斷字功能 jta.setBackground(Color.pink); jscrollPane = new JScrollPane(jta); jpanel = new JPanel(); jpanel.setLayout(new GridLayout(1, 4)); jb1 = new JButton("複製"); jb1.addActionListener(this); jb2 = new JButton("貼上"); jb2.addActionListener(this); jb3 = new JButton("剪下"); jb3.addActionListener(this); jb4 = new JButton("生成"); jb4.addActionListener(this); jpanel.add(jb1); jpanel.add(jb2); jpanel.add(jb3); jpanel.add(jb4); contentPane.add(jscrollPane, BorderLayout.CENTER); contentPane.add(jpanel, BorderLayout.SOUTH); jf.setSize(400, 300); jf.setLocation(400, 200); jf.setVisible(true); jf.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } // 覆蓋介面ActionListener的方法actionPerformed public void actionPerformed(ActionEvent e) { if (e.getSource() == jb1) { jta.copy(); } else if (e.getSource() == jb2) { jta.paste(); } else if (e.getSource() == jb3) { jta.cut(); } else if (e.getSource() == jb4) { jta.setText(aotuChange(jta.getText())); } } public String aotuChange(String xml) { xml = xml.replaceAll("<.*</", "public String "); xml = xml.replace(">", "; "); return xml; } public static void main(String[] args) { new Test(); } }

原理很簡單,就是正則表示式替換

    public String aotuChange(String xml) {
        xml = xml.replaceAll("<.*</", "public String ");
        xml = xml.replaceAll("<(?!\\!)", "public String ");
        xml = xml.replaceAll("/>", "; ");
        xml = xml.replaceAll("(?<!-)>", "; ");
    }

關鍵程式碼就這幾行。

我把它生成了一個java小工具,可以直接雙擊執行。
圖片1
圖片2
下載連結:下載連結