在已经有xml文件的情况下快速生成javabean
来源:互联网 发布:手机淘宝微淘 编辑:程序博客网 时间:2024/05/17 07:07
开发过程中,经常遇到接口给了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;//实现接口ActionListenerpublic 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小工具,可以直接双击运行。
下载链接:下载链接
3 0
- 在已经有xml文件的情况下快速生成javabean
- 误删的文件怎么恢复(在已经清空回收站的情况下)
- 根据xml文件生成javaBean
- eclipse下,每次运行程序时,新启动Android模拟器(在已经有一个模拟器运行的情况)
- 有没有方法在不root手机的情况下读取Data目录下的文件
- 使用JAXB时,xml与java对象互转以及初始情况下直接由模板xml生成javabean
- android 打包上线忘记password 和 alias在有 签名文件的情况下如何找回
- 修改tomcat的server.xml文件后,eclipse在某些情况下会自动还原server.xml文件内容
- 如何在linux下快速生成当前目录下所有文件夹下所有文件的MD5
- 在java里调用已经生成的exe文件
- 普通的JavaBean代码的快速生成
- Excel调用已有数据利用已经录入的项快速的生成下拉列表
- android的assets下的数据,可否在已经打好包的情况下修改
- Gallery 在有按钮的情况下 相应左右滑动
- 在有数据的情况下更改字段类型
- elasticsearch在有代理的情况下安装head plugin
- Java在有继承情况下初始化函数的调用
- 已经清空回收站的情况下怎样恢复刚刚删除的文件(转载)
- session失效时间
- 【深度】想成为VR开发者前先问自己六个问题
- Activity初步分析
- Spring MVC常用的注解
- Android调用系统EMAIL发送邮件崩溃,android.content.ActivityNotFoundException
- 在已经有xml文件的情况下快速生成javabean
- 快速排序代码及实现(优化)
- springMVC 常用注解
- [从头学数学] 第126节 数据的收集、整理与描述
- iOS-监听键盘输入,视图整体上移或恢复-避免输入遮挡
- dplyr高效数据处理包
- C++函数重定义、重载、重写
- iOS如何用代码控制以不同屏幕方向打开新页面?
- PostgreSQL 安装、配置、入门