50,527
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="shift_jis"?>
<root>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
arDocVersion="11" xsi:schemaLocation="urn:remedy:schemas:ars ars.xsd">
<fields>
<field>
<definition xsi:type="control">
<fieldName>AAA</fieldName>
<fieldID>536870900</fieldID>
<createMode>protected</createMode>
</definition>
</field>
<field>
<definition xsi:type="control">
<fieldName>BBB</fieldName>
<fieldID>536870901</fieldID>
<owner>Demo</owner>
<lastModifiedBy>Demo</lastModifiedBy>
</definition>
</field>
</fields>
</form>
</root>
package com.xml;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class T3 {
/**
* @param args
*/
private static BufferedWriter bw;
public static String str = "";
public static String str1 = "";
public static void main(String[] args) {
try {
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(new File("D:/action_999.csv")),
"shift-jis"));
SAXReader sr = new SAXReader();
Document doc = sr.read(new File("D:/incident_form.xml"));
Element root = doc.getRootElement();
T3 t2 = new T3();
String[] Permission = { "fieldName", "maximumLength", "fieldID" };
t2.getElementList(root, "field", Permission);
// System.out.print(str);
// bw.write(str);
// bw.write("\n");
bw.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// 父节点
public void getElementList(Element element, String parentNode,
String[] childNode) {
Element elem = null;
for (Iterator iter = element.elementIterator(); iter.hasNext();) {
elem = (Element) iter.next();
// 递归遍历
if (parentNode.equals(elem.getName())) {
// System.out.println(elem.getName());
getElementList1(elem, childNode);
}
if (!elem.isTextOnly()) {
getElementList(elem, parentNode, childNode);
}
}
}
// 子节点
public Element getElementList1(Element element, String[] childNode) {
Element elem = null;
String title = "";
String value = "";
ArrayList valuelist = new ArrayList();
ArrayList titlelist = new ArrayList();
Map<String, String> map = new HashMap();
for (Iterator<Element> iter = element.elementIterator(); iter.hasNext();) {
elem = iter.next();
for (int i = 0; i < childNode.length; i++) {
// 子节点在xml文件中找到后赋值
if (childNode[i].equals(elem.getName())) {
title = childNode[i];
value = elem.getTextTrim();
//
}
// 没找到赋空值
else {
title = childNode[i];
value = "";
// str += title + "," + value;
// System.out.println(str);
}
// str = title + "," + value;
valuelist.add(value);
// titlelist.add(title)
// map.put(title, value);
}
// 递归遍历
if (!elem.isTextOnly()) {
getElementList1(elem, childNode);
}
}
for (int i = 0; i < valuelist.size(); i++) {
// System.out.println(valuelist.get(i));
}
// for(Iterator it=map.entrySet().iterator();it.hasNext();){
// Map.Entry entry=(Entry) it.next();
// System.out.println(entry.getKey()+","+entry.getValue());
// }
return elem;
}
}