// 获得服务
LoyaltyService ls = this.getLoyaltyService();
LoyaltyXMLResponse response = ls.memberSearch(request);
if (response.getResult().toString().equals("OK")) {
String xml = response.getLoyaltyXML();
Document doc = null;
Member member = null;
MsgParam mp = new MsgParam();
MemberDetail md = new MemberDetail(); try {
member = new Member();
List<MsgParam> mps = member.getMsgParamList();
List<MemberDetail> mds = member.getMbrDetails();
doc = DocumentHelper.parseText(xml);
Element root = doc.getRootElement();
// 取得每一个子节点的值
Element msgIdElement = root.element("MsgID");
Element msgTypeElement = root.element("MsgType");
Element msgTimeElement = root.element("MsgTime");
Element msgtReqElement = root.element("MsgResponseReq");
Element msgParamElement = root.element("MsgParamListIndex");
member.setMsgId(msgIdElement.getText());
member.setMsgType(msgTypeElement.getText());
member.setMsgTime(msgTimeElement.getText());
member.setMsgResponseReq(msgtReqElement.getText());
member.setMsgParamListIndex(msgParamElement.getText());
// dataItem下还有子节点,所以遍历dataItem下的所有子节点
List<Element> dataItem = root.elements("DataItem");
for (Element element : dataItem) {
if ("MsgParamList".equals(element
.attributeValue("DataItemType"))) {
Iterator<Element> e = element.elementIterator();
while (e.hasNext()) {
Element em = e.next();
System.out.println(em.getText() + "@@@@");
//TODO
// mp.setCode(em.getText());
// mp.setDesc(em.getText());
}
mps.add(mp);
}
if ("MbrDetails".equals(element
.attributeValue("DataItemType"))) {
Iterator<Element> details = element.elementIterator();
while(details.hasNext()){
 Element em = details.next();
 System.out.println(em.getText()+"!!!");
 //TODO
}
}
}
return member;
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;

我的XML:
   
    <LoyaltyXML><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<VistaLoyaltyMsg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <MsgID />
  <MsgType>MBRLIST</MsgType>
  <MsgTime>20110906193344</MsgTime>
  <MsgResponseReq>N</MsgResponseReq>
  <MsgParamListIndex>0</MsgParamListIndex>
  <DataItem DataItemType="MsgParamList">
    <Param Name="ResponseCode">0</Param>
    <Param Name="ResponseDesc">Found</Param>
  </DataItem>
  <DataItem DataItemType="MbrDetails">
    <Param Name="MembershipID">GLDV1KBSKRQHC</Param>
    <Param Name="MemberFirstName">王</Param>
    <Param Name="MemberLastName">亮</Param>
    <Param Name="MemberUserName" />
    <Param Name="MemberPassword">8000000100003677</Param>
    <Param Name="MemberFullName">王 亮</Param>
    <Param Name="MemberEmail">[email protected]</Param>
    <Param Name="MemberMobilePhone">(13) 608-069725</Param>
    <Param Name="MemberAddress1" />
    <Param Name="MemberAddress2" />
    <Param Name="MemberWishToReceiveEmail">N</Param>
    <Param Name="person_formatEmail">HTML</Param>
    <Param Name="clubid">3</Param>
    <Param Name="MembershipLevelName" />
    <Param Name="MembershipLevel">0</Param>
  </DataItem>
  <DataItem DataItemType="MbrDetails">
    <Param Name="MembershipID">SYL200VGKDSGG</Param>
    <Param Name="CardNumber">8000000200000478</Param>
    <Param Name="MemberFirstName">王</Param>
    <Param Name="MemberLastName">亮</Param>
    <Param Name="MemberUserName" />
    <Param Name="MemberPassword">8000000200000478</Param>
    <Param Name="MemberFullName">王 亮</Param>
    <Param Name="MemberEmail" />
    <Param Name="MemberMobilePhone">(13) 608-069725</Param>
    <Param Name="MemberAddress1" />
    <Param Name="MemberAddress2" />
    <Param Name="MemberWishToReceiveEmail">N</Param>
    <Param Name="person_formatEmail">HTML</Param>
    <Param Name="clubid">4</Param>
    <Param Name="MembershipLevelName" />
    <Param Name="MembershipLevel">0</Param>
  </DataItem>
</VistaLoyaltyMsg>]]></LoyaltyXML>请问下:我这样遍历出每个em.getText()存入到member对象中,我代码注释那部分肯定只装入遍历最后一个的值的。