package com.test.xml;
import java.io.File;
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.SAXReader;
import org.dom4j.io.XMLWriter;
import org.dom4j.tree.DefaultDocument;
public class BuildXml {
public static void main(String[] args) {
BuildXml xml=new BuildXml();
String fileName="xml/bu.xml";
String[] itemName = { "航空加油站", "纪检中心", "油库中心", "其他" };
String[] sheehCod = { "1.1.1", "1.1.2", "1.1.3" };
xml.TestXml(fileName,itemName,sheehCod);
}
public void TestXml(String fileName, String[] itemName, String[] sheehCod){
Document doc=DocumentHelper.createDocument();
Element recordElement=doc.addElement("Record");
Element headElement=recordElement.addElement("Head");
Element bodyElement=recordElement.addElement("Body");
Element codEl=headElement.addElement("Cod");
codEl.setText("1");
Element recEl=headElement.addElement("Recitified");
recEl.setText("是");
addParamList(bodyElement, sheehCod, itemName);
try {
FileWriter fileWriter=new FileWriter(fileName);
OutputFormat xmlFormat=OutputFormat.createPrettyPrint();
xmlFormat.setEncoding("gbk");
XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);
xmlWriter.write(doc);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void addParamList(Element bodyEl, String[] sheehCod,
String[] itemName) {
for (int i = 0; i < sheehCod.length; i++) {
Element paramListEl = bodyEl.addElement("ParamList");
Element sheehEl = paramListEl.addElement("SheehCod");
sheehEl.setText(sheehCod[i]);
addItem(itemName, paramListEl);
}
}
private void addItem(String[] itemName, Element paramListEl) {
Element paramEl = paramListEl.addElement("Param");
for (int i = 0; i < itemName.length; i++) {
Element itemNameEl = paramEl.addElement("ItemName");
itemNameEl.setText(itemName[i]);
if (i < itemName.length - 1) {
paramEl = paramListEl.addElement("Param");
}
}
}
}
//代码运行产生XML文档如下:
<?xml version="1.0" encoding="gbk"?>
<Record>
<Head>
<Cod>1</Cod>
<Recitified>是</Recitified>
</Head>
<Body>
<ParamList>
<SheehCod>1.1.1</SheehCod>
<Param>
<ItemName>航空加油站</ItemName>
</Param>
<Param>
<ItemName>纪检中心</ItemName>
</Param>
<Param>
<ItemName>油库中心</ItemName>
</Param>
<Param>
<ItemName>其他</ItemName>
</Param>
</ParamList>
<ParamList>
<SheehCod>1.1.2</SheehCod>
<Param>
<ItemName>航空加油站</ItemName>
</Param>
<Param>
<ItemName>纪检中心</ItemName>
</Param>
<Param>
<ItemName>油库中心</ItemName>
</Param>
<Param>
<ItemName>其他</ItemName>
</Param>
</ParamList>
<ParamList>
<SheehCod>1.1.3</SheehCod>
<Param>
<ItemName>航空加油站</ItemName>
</Param>
<Param>
<ItemName>纪检中心</ItemName>
</Param>
<Param>
<ItemName>油库中心</ItemName>
</Param>
<Param>
<ItemName>其他</ItemName>
</Param>
</ParamList>
</Body>
</Record>