工作中一个新接口要求传送xml格式数据,习惯了json格式,xml这里记录下,帮自己学习。
贴一张百度到的属性图。
for(int i = 0;i<dv.size();i++) {
// 转换xml格式。
Document document = DocumentHelper.createDocument();
Element root = document.addElement("in0");
// 添加注释
root.addComment("待办数据");
// 根节点下添加参数子节点
for(int j = 0 ;j<dv.getColumns().size();j++) {
//字段名作为结点名称
String key = dv.getColumnName(j);
Element info = root.addElement(key);
// 节点添加属性
info.setText(dv.get(i).getString(key));
}
TodoRequest(document);
}
将得到一个数据集转换成xml格式,字段名作为结点,值作为内容。
for(int i = 0;i<dv.size();i++) {
String bf = "";
for(int j = 1 ;j<dv.getColumns().size();j++) {
String key = dv.get(i).getColumnName(j);
String value =dv.get(i).getString(key);
//拼接xml字符串 转移符替代尖括号
bf+= "<"+key+">"+value+"</"+key+">";
}
TodoRequest(data);
// System.out.println(data);
}
将得到的数据集转换成xml格式的字符串,这种适合接口之间传输,然后得到对应的xml返回数据,可以解析为对象取值。
public static void readxmlstr(String result) throws Exception{
//转换为xml对象
Document doc = DocumentHelper.parseText(result);
//读取根结点
Element rootElt = doc.getRootElement();
//找到数据集结点
Iterator iter = rootElt.elementIterator("ResultInfo");
while (iter.hasNext()) {
Element recordEle = (Element) iter.next();
// 拿到ResultInfo节点下的子节点message值
String message = recordEle.elementTextTrim("message");
String dataType = recordEle.elementTextTrim("dataType");
String operResult = recordEle.elementTextTrim("operResult");
String syscode = recordEle.elementTextTrim("syscode");
String operType = recordEle.elementTextTrim("operType");
//这里可以做具体的数据处理
dosomgthing();
}
}