日期:2014-05-18  浏览次数:20706 次

java dom4j xml 解析 求大虾指教
我现在的问题是取不到resultMsg里面的值求高手指教

<?xml version="1.0" encoding="UTF-8"?>
<msg> 
<protocol> 
<code> 0 </code> 
<resp>
< resultMsg> 10001 </ resultMsg> 
< resultMsg> 10002</ resultMsg> 
< resultMsg> 10003 </ resultMsg> 
。。。。。。
</resp> 
</protocol>
</msg>


Document doc = null;
String code=null;
String resultMsg=null;
doc = DocumentHelper.parseText(ret);
Element rootElt = doc.getRootElement(); // 获取根节点

for (Iterator  i = rootElt.element("protocol").element("resp").elementIterator(); i.hasNext();) {
    Element recordEle = (Element) i.next();
    resultMsg = recordEle.elementTextTrim("resultMsg");
    System.out.println(resultMsg);
    }

------解决方案--------------------
 resultMsg = recordEle.elementTextTrim("resultMsg");将这一句改为
resultMsg = recordEle.getText();
因为你已经遍历到了resultMsg元素,所以recordEle就代表着resulMsg元素,所以不能使用elementTextTrim("resultMsg")方法
能够使用此方法的只能是resp元素