public static void testXml(){
//实验证明,可以节点内容为空,但是不能为不存在的节点
</pre><pre name="code" class="java">//这个应该在一行,否则需要由换行的操作 String xml="<?xml version='1.0' encoding='UTF-8'?><ROOT><RET_DATA><RET_CODE>-1</RET_CODE><RET_MSG>查询/home/weblogic/downPic/不存在!</RET_MSG><RET_URL/></RET_DATA></ROOT>"; //获取报文中有价值的信息,返回给上一级 Document document = null; SAXReader reader = new SAXReader(); // 将String转化为XML StringReader stringReader = new StringReader(xml.trim()); try { document = reader.read(stringReader); //获取根节点 Element root = document.getRootElement(); //判断结果状态 Node resultCode=root.selectSingleNode("/ROOT/RET_DATA/RET_CODE"); Node ResultInfo=root.selectSingleNode("/ROOT/RET_DATA/RET_MSG"); Node Resulturl=root.selectSingleNode("/ROOT/RET_DATA/RET_URL"); System.out.println(resultCode.getText()+" "+ResultInfo.getText()+" "+Resulturl.getText()); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String [] args){ //xmlTest(); testXml(); }
2016年增加
SAXReader sax = new SAXReader();
Document document = sax.read(reader);//reader为定义的一个字符串,可以转换为xml
Element root = document.getRootElement();//获取到根节点元素String str = root .getText()//获取到
String str=root.element("name1").element("name2").getText();