dom4j解析xml例子:
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Node;
public class test {
/**
* 取单个节点文本
* @param doc
* @param tag
* @return
*/
public static String getText(Document doc, String tag) {
Node node = doc.selectSingleNode("//" + tag);
if (node == null) {
return null;
}
if (node.getText() == null) {
return null;
}
String res = node.getText().trim();
return res;
}
/**
* 解析通用响应头
*
* @param StrResponse
* @return
* @throws Exception
*/
public static void parseCommonMsgResponseHeader(Document doc) throws Exception {
System.out.println("name:"+getText(doc, "name"));
System.out.println("version:"+getText(doc, "version"));
System.out.println("times:"+getText(doc, "times"));
}
/**
* 解析方法
* @param strReponse
* @throws Exception
*/
public static void parse(String strReponse) throws Exception {
Document doc = DocumentHelper.parseText(strReponse);
System.out.println("doc:"+doc.asXML());//查询转换后的xml
test.parseCommonMsgResponseHeader(doc);
}
/**
* 测试类
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String responseXml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<test>" +
"<name>userloginresp</name>" +
"<version>1.0.0</version>" +
"<times>20120728234226</times>" +
"</test>";
test.parse(responseXml);
}
}