实际开发中可能需要使用CSV(一种以逗号分隔的文件)文件,程序会读取该CSV文件,然后把数据插入到表中。然而,这种文件当逗号分隔的字段特别多时,操作起来就很麻烦,如修改第73个字段值。
下面的程序演示了将字段数据写成XML文件的形式,然后再变换输出CSV文件的形式:
1.XML示例:
<?xml version="1.0" encoding="utf-8"?>
<records>
<record no="1">
<field lname="ziduan1" wname="W024_MOUSHIKOMINO">2532sf5277</field>
<field lname="ziduan2" wname="W024_SENYOUCD">123456</field>
<field lname="ziduan3" wname="W024_ISPZCD">070</field>
<field lname="ziduan4" wname="W024_TJDSLZCD">1f23</field>
<field lname="ziduan5" wname="W024_NAME">163</field>
</record>
<record no="2">
<field lname="ziduan1" wname="W024_MOUSHIKOMINO">2532277</field>
<field lname="ziduan2" wname="W024_SENYOUCD">123df456</field>
<field lname="ziduan3" wname="W024_ISPZCD">0370</field>
<field lname="ziduan4" wname="W024_TJDSLZCD">123</field>
<field lname="ziduan5" wname="W024_NAME">14sd3</field>
</record>
</records>
2.java代码
本程序使用DOM4J方式进行解析,故需要添加dom4j*.jar和jaxen*.jar
import java.io.PrintWriter;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jTest {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read("I:\\test2.xml");
//取得根元素
//Element root = document.getRootElement();
//System.out.println(root.getName());
//Element对象有elementIterator(),可迭代;
List<Element> recordList=document.selectNodes("//records/record");
List<Attribute> lNameList=document.selectNodes("//records/record[@no='1']/field/@lname");
String temp=null;
PrintWriter pw=new PrintWriter("I:\\hello2.csv");
for (int k = 0; k < lNameList.size(); k++) {
Attribute f=lNameList.get(k);
temp=f.getText();
if(k==lNameList.size()-1){
pw.print(temp);
}else
pw.print(temp+",");
}
pw.println();
for (int i = 0; i < recordList.size(); i++) {
//取得某个record
Element fieldElement=recordList.get(i);
//取得record下面的元素(List)
List<Element> fieldList=fieldElement.selectNodes("./field");
for (int j = 0; j < fieldList.size(); j++) {
Element fieldNodElement=fieldList.get(j);
temp=fieldNodElement.getText();
if(j==fieldList.size()-1){
pw.print(temp);
}else
pw.print(temp+",");
}
pw.println();
}
pw.close();
}
}
3.程序运行后的hello2.csv文件内容如下:
- 大小: 1.6 KB
分享到:
相关推荐
DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件
详细介绍了使用Dom4j进行xml文件的读取方法
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
dom4j解析XML文件格式dom4j解析XML文件格式dom4j解析XML文件格式
该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。
使用dom4j读取xml四种方法,希望对各位朋友有所帮助
使用 dom4j 解析 XML dom4j 解析 XML dom4j解析xml
XSD使用dom4j校验XML
dom4j 输出XML时中文乱码解决 dom4j 输出XML时中文乱码解决
Dom4j是一个开源的Java XML 解析处理工具,用来读写XML文件,它应用于Java平台,采用了Java集合框架并完全支持DOM, SAX和JAXP。具有性能优异、功能强大和极易使用的特点。可以作为解析XML文档析首先API。本文讲述了...
Dom4J生成XML的完整方法希望大家能用到
本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器修改。与W3C DOM API相比,使用dom4j所包含的...
分别使用DOM和DOM4j解析XML文件,因为目前使用最广泛的是DOM4j所以只写了用DOM4j对XML进行增删改查。
完整的讲解一个dom4j对xml的增删改查
dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。
利用dom4j--读取xml文件。 代码简洁易懂。
Dom4j解析教程。详细讲解如何使用dom4j解析xml,简单易懂。
例题采用的是dom4j对xml的操作,包含了对xml的增加删除修改操作.