使用Jdom解析xml格式字符串
package controllers; import java.io.Reader; import java.io.StringReader; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import play.mvc.Http; import util.MD5Util; public class XHdefrayInterface extends Application{ public static String DefrayState(String xml_content){ String info = ""; if(xml_content != null ){ int indexStr = xml_content.indexOf("?>"); if(indexStr > 1){ xml_content = xml_content.substring(indexStr+2); } Reader reader = new StringReader(xml_content); SAXBuilder saxb = new SAXBuilder(); //在内存中建立一个sax解析对象 Document doc; try { doc = saxb.build(reader); //解析对象调用build方法建立文档对象 Element rootElement = (Element) doc.getRootElement(); //获取文档根节点元素 Element ls = rootElement.getChild("request"); //获取文档根节点里的字节点request //遍历需要的元素 List lse = ls.getChildren(); for (Iterator itr = lse.iterator(); itr.hasNext(); ) { Element element = (Element)itr.next(); String eName = element.getName(); //获取元素名称 String eValue = element.getValue(); //获取元素里的值 } } catch (Exception e) { e.printStackTrace(); } return null; }else{ return null; } } public static void main(String[] args) throws Exception { // "<?xml version=’1.0’ encoding=’UTF-8’?>"+ String str = "<?xml version=’1.0’ encoding=’UTF-8’?>sd"+ "<message>" + "<request>" + "<columnid>10001101</columnid>" + "<orderid>1000110120120424215206179553</orderid>" + "<pricecode>1</pricecode>" + "<status>9004</status>" + "<sign>0e64039fb911005571eb979752ae8dd2</sign>" + "<timestamp>1335275584</timestamp>" + "</request>" + "</message>"; DefrayState(str); } }
比较简单的jdom例子,希望对你有帮助!