import java.util.List;
import java.io.FileInputStream;
import org.dom4j.io.SAXReader;
import org.dom4j.Document;
import org.dom4j.Element;
public class Test {
public static void main(String args[]) {
StringBuffer xmlStr = new StringBuffer("");
xmlStr.append("<opDetail>");
xmlStr.append("<recordInfo>");
xmlStr.append("<fieldInfo>");
xmlStr.append("<fieldChName>城市</fieldChName>"); //字段中文名
xmlStr.append("<fieldEnName>zone_id</fieldEnName>");
xmlStr.append("<fieldContent>昆明</fieldContent>"); //字段英文名
xmlStr.append("</fieldInfo>");
xmlStr.append("<fieldInfo>");
xmlStr.append("<fieldChName>基站</fieldChName>"); //字段中文名名
xmlStr.append("<fieldEnName>bts_name</fieldEnName>");
xmlStr.append("<fieldContent>KM3456</fieldContent>"); //字段英文名
xmlStr.append("</fieldInfo>");
xmlStr.append("</recordInfo>");
xmlStr.append("<recordInfo>");
xmlStr.append("<fieldInfo>");
xmlStr.append("<fieldChName>城市</fieldChName>"); //字段中文名
xmlStr.append("<fieldEnName>zone_id</fieldEnName>");
xmlStr.append("<fieldContent>昆明2</fieldContent>"); //字段英文名
xmlStr.append("</fieldInfo>");
xmlStr.append("<fieldInfo>");
xmlStr.append("<fieldChName>基站</fieldChName>"); //字段中文名名
xmlStr.append("<fieldEnName>bts_name</fieldEnName>");
xmlStr.append("<fieldContent>ZT2345</fieldContent>"); //字段英文名
xmlStr.append("</fieldInfo>");
xmlStr.append("</recordInfo>");
xmlStr.append("</opDetail>");
SAXReader reader = new SAXReader();
Document document = null;
try {
document = DocumentHelper.parseText(xmlStr.toString());
} catch (Exception e) {
System.out.println(e.toString());
}
Element root = (Element) document.getRootElement(); // 得到根元素 //opdtail
List ticketInfoList = root.elements(); //所有的recordInfo的document对象
for (int i = 0; i < ticketInfoList.size(); i++) {
List l1 = ((Element) ticketInfoList.get(i)).elements(); //取得当个recordInfo下的所有fieldInfo的document对象
for (int j = 0; j < l1.size(); j++) {
Element element = (Element) l1.get(j);
System.out.println("fieldChName " +
element.elementText("fieldChName"));
System.out.println("fieldEnName " +
element.elementText("fieldEnName"));
System.out.println("fieldContent " +
element.elementText("fieldContent"));
}
封装结构如下:
各接口的详细信息统一使用“opDetail”参数,“opDetail”以XML封装,格式如下:
<opDetail> //详细信息
<recordInfo> //记录内容
<fieldInfo> //字段内容
<fieldChName>…</fieldChName> //字段中文名
<fieldEnName>…</fieldEnName>//字段英文名
<fieldContent>…</fieldContent> //字段内容
</fieldInfo>
</recordInfo>
</opDetail>
<opDetail>中可包括多个<recordInfo>部分,<recordInfo>中可包括多个<fieldInfo>部分。如果没有详细信息,则仅存“<opDetail></opDetail>”。
zhuan:http://blog.csdn.net/yhhah/archive/2009/05/07/4158496.aspx