java解析和生成xml文件的补充
来源:互联网 发布:网络交友论坛 编辑:程序博客网 时间:2024/06/05 17:05
一、准备xml文件
<?xml version="1.0" encoding="GBK"?>
<activitys>
<activity>
<hdbh>20151226</hdbh> <!--活动编号-->
<hdmc>赠品</hdmc> <!--活动名称-->
<yhje>2.00</yhje> <!--优惠金额-->
<validOrNot>有效</validOrNot> <!--活动是否有效-->
</activity>
<activity>
<hdbh>201512456443</hdbh>
<hdmc>立减3元</hdmc>
<yhje>0.00</yhje>
<validOrNot>无效</validOrNot>
</activity>
</activitys>
二、对应的实体:ActivityInfo.java
private String hdbh;
private String hdmc;
private String yhje;
private Strign vaildOrNot;
三、使用DOM解析读取文件夹里同类文件的内容
public static List<ActivityInfo> readMp3XmlDir(String xmlDir)throws Exception{
//文件夹
File dir = new File(xmlDir);
File[] filelist = dir.listFiles();
List<ActivityInfo> activityInfoList=null;
ActivityInfo activityInfo=null;
try {
if (filelist != null) {
for (int i = 0; i < filelist.length; i++) {
File file = filelist[i];
if (file.length() == 0) {
continue;
}else{
String filename = file.getName();
System.out.println("文件名称:"+filename);
// 解析xml文件
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file);
//解析节点是activity的元素
NodeList list = document.getElementsByTagName("activity");
activityInfoList=new ArrayList<ActivityInfo>();
for (int j = 0; j < list.getLength(); j++) {
Element element = (Element) list.item(j);
activityInfo=new ActivityInfo();
//获取活动编号
String hdbh= element.getElementsByTagName("hdbh").item(0).getFirstChild().getNodeValue();
activityInfo.setHdbh(hdbh);
//获取活动名称
String hdmc= element.getElementsByTagName("hdmc").item(0).getFirstChild().getNodeValue();
activityInfo.setHdmc(hdmc);
//获取优惠金额
String yhje= element.getElementsByTagName("yhje").item(0).getFirstChild().getNodeValue();
activityInfo.setYhje(yhje);
//获取是否有效
String validOrNot= element.getElementsByTagName("validOrNot").item(0).getFirstChild().getNodeValue();
activityInfo.setValidOrNot(validOrNot);
activityInfoList.add(activityInfo);
}
}
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return activityInfoList;
}
四、生成指定的xml文件
public static void writeMp3Xml(List<ActivityInfo> list,String filepath)throws Exception{
String head="<?xml version=\"1.0\" encoding=\"GBK\" ?>";
FileWriter fw=null;
BufferedWriter bw=null;
try{
//写入文件
fw=new FileWriter(new File(filepath),true);
bw=new BufferedWriter(fw);
bw.write(head+"\r\n");
bw.write("<activitys>"+"\r\n");
//遍历数据写入
for(ActivityInfo act :list){
bw.write("<activity>"+"\r\n");
//写入活动编号
bw.write(new StringBuffer("<hdbh>").append(mp3.getHdbh()).append("</hdbh>").append("\r\n").toString());
//写入活动名称
bw.write(new StringBuffer("<hdmc>").append(mp3.getHdmc()).append("</hdmc>").append("\r\n").toString());
//写入优惠金额
bw.write(new StringBuffer("<yhje>").append(mp3.getYhje()).append("</yhje>").append("\r\n").toString());
//写入是否有效
bw.write(new StringBuffer("<validOrNot>").append(mp3.getValidOrNot()).append("</validOrNot>").append("\r\n").toString());
bw.write("</activity>"+"\r\n");
}
bw.write("</activitys>");
//关闭流
bw.close();
fw.close();
}catch(Exception e){
throw new RuntimeException(e);
}
}
- java解析和生成xml文件的补充
- Java 生成和解析xml文件
- XML文件的解析和生成(DOM)
- XML文件的生成和解析
- xml文件的生成和解析
- java解析/生成xml文件
- XML文件生成和解析
- Java生成和解析XML格式文件和字符串的实例代码【dom4j中的SAXReader对象读取并解析xml文件】
- Java解析XML与生成XML文件
- Cocos2d-x tinyxml2用于xml的解析,自动生成xml文件和解析xml文件
- java 生成和解析xml
- Java解析和生成XML
- XML文件和JSON文件的解析及生成
- Pull解析器解析XML文件和生成XML文件
- 用dom4j的方式解析和生成xml文件
- 关于Android下,XML文件的生成和解析方式
- DOM4J对XML文件的生成和解析
- XML的解析和生成
- freeMarker使用记录
- 开始学习C和C++
- Linux指令--tar,gzip
- 冒泡排序、选择排序的区别
- select、poll、epoll之间的区别总结
- java解析和生成xml文件的补充
- BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies)
- 十大算法,让你轻松进阶高手
- 微服务SOA架构与RPC远程过程调用
- Right Triangles
- 用SecureCRT来上传和下载文件
- javaweb登录页面验证码验证以及session中验证码值获取不同步的问题
- Linux 文件系统、启动过程 之 内核剖析 读笔
- 关于自定义Toast的坑(日记)