我有一个这样的txt文件
id name sex
1 张三 男
2 李四 女
想把它转换成下面的xml格式
<班级>
<学生 id=1>
<name>张三</name>
<sex>男</sex>
</学生>
<学生 id=2>
<name>李四</name>
<sex>女</sex>
</学生></班级>
求救 跪求 请各位大侠指点一下 源码怎么写?请各位大侠 指教下!谢谢了!
id name sex
1 张三 男
2 李四 女
想把它转换成下面的xml格式
<班级>
<学生 id=1>
<name>张三</name>
<sex>男</sex>
</学生>
<学生 id=2>
<name>李四</name>
<sex>女</sex>
</学生></班级>
求救 跪求 请各位大侠指点一下 源码怎么写?请各位大侠 指教下!谢谢了!
try {
FileReader read = new FileReader("D:/test.txt");
BufferedReader br = new BufferedReader(read);
String contents;
Element classElement=new Element("班级");
while((contents = br.readLine())!=null){
String[] contentElements = contents.split(" ");
Element stuElement = new Element("学生");
stuElement.addAttribute("id",contentElements[0]);
Element nameElement = new Element("name");
nameElement.addContent(contentElements[1]);
Element sexElement = new Element("sex");
sexElement.addContent(contentElements[2]);
stuElement.addContent(name);
stuElement.addContent(sex);
classElement.addContent(stuElement);
}
Document doc=new Document(classElement);
XMLOutputter out = new XMLOutputter();
out.setFormat(Format.getCompactFormat().setEncoding("GB2312")); out.output(doc,new FileOutputStream("D:/test.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;public class ReadTxt {
public static void main(String[] args) throws IOException {
FileReader read = new FileReader("c:/test.txt");
BufferedReader br = new BufferedReader(read);
String str = null;
// 创建一个document
Document document = DocumentHelper.createDocument();
// 创建根结点
Element root = document.addElement("班级");
while ((str = br.readLine()) != null) {
String xmlData[] = str.split(" ");
// 为根结点添加一个student节点
Element student = root.addElement("学生");
// 为student添加属性id
Element id = student.addElement("id");
id.setText(xmlData[0]);
// 为student添加属性name
Element name = student.addElement("name");
name.setText(xmlData[1]);
// 为student添加属性sex
Element sex = student.addElement("sex");
sex.setText(xmlData[2]);
}
XMLWriter output;
//输出格式化
OutputFormat format = OutputFormat.createPrettyPrint();
try {
output = new XMLWriter(new FileWriter("c:/test.xml"), format);
output.write(document);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}}
<?xml version="1.0" ecoding="UTF-8" standalone="yes"?>
<!DOCTYPE 班级[
<!ELEMENT name (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ATTLIST sex (男|女) #REQUIRED>
<!ELEMENT 学生 ANY>
<!ATTLIST 学生 id CDATA "1">
<!ELEMENT 学生 (name,sex)>
]><班级>
<学生 id=1>
<name>张三</name>
<sex>男</sex>
</学生>
<学生 id=2>
<name>李四</name>
<sex>女</sex>
</学生>
</班级>
写完了没运行,不敢保证100%对。反正就是这样的格式啦
<!DOCTYPE 班级[
<!--这里面,缺了一行代码,-->
<!ELEMENT 班级 (学生)>
]> 写完了,把后缀名改就.xml,就可以了。不知道大家怎么样看~~~
//输出格式化
OutputFormat format = OutputFormat.createPrettyPrint();
//指定XML编码(默认编码为UTF-8,如果有汉字不能正常显示)
format.setEncoding("GB2312");