解析xml第二子节点


import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;

public void  parseXML(String xml){                  

                         Element element = null;
                          StringReader read = new StringReader(xml);
                          InputSource source = new InputSource(read);
                          DocumentBuilder db = null;
                          DocumentBuilderFactory dbf = null;
                           dbf = DocumentBuilderFactory.newInstance();
                           db = dbf.newDocumentBuilder();

                           Document dt = db.parse(source);
                           element = dt.getDocumentElement();
                           NodeList childNodes = element.getChildNodes();

                           // 遍历这些子节点
                           for (int i = 0; i < childNodes.getLength(); i++) {
                            // 获得每个对应位置i的结点
                            Node node1 = childNodes.item(i);
                            if ("retCode".equals(node1.getNodeName())) // 输出code
                                  retCode = node1.getTextContent();
                              else if ("errMsg".equals(node1.getNodeName())) // 输出pass
                                  errMsg =   node1.getTextContent();
                              else if ("merchId".equals(node1.getNodeName())) // 输出name
                                  merchId2 =  node1.getTextContent();
                              else if ("gameId".equals(node1.getNodeName())) // 输出money
                                  gameId2 = node1.getTextContent();
                              else if ("num".equals(node1.getNodeName())) // 输出money
                                  num2 = Integer.parseInt(node1.getTextContent());
                              else if ("orderId".equals(node1.getNodeName()))
                                  orderId2 =  node1.getTextContent();
                              else if ("settleDate".equals(node1.getNodeName()))
                                  settleDate2=  node1.getTextContent();
                              else if ("phone".equals(node1.getNodeName()))
                                  phone2 = node1.getTextContent();
                              else if ("hyOrderId".equals(node1.getNodeName()))
                                  hyOrderId =node1.getTextContent();
                            if ("cards".equals(node1.getNodeName())) {
                             NodeList nodeDetail = node1.getChildNodes();
                             for (int j = 0; j < nodeDetail.getLength(); j++) {
                              Node detail = nodeDetail.item(j);
                              if ("card".equals(detail.getNodeName())) {
                                  System.out.println("card");
                                  NodeList nodeDetail2 = detail.getChildNodes();
                                  for (int k = 0; k < nodeDetail2.getLength(); k++) {
                                    Node node3 = nodeDetail2.item(k);
                                          if ("cardNo".equals(node3.getNodeName())) // 输出code
                                              cardNo=   node3.getTextContent();
                                          else if ("cardPws".equals(node3.getNodeName())) // 输出pass
                                              cardPws = node3.getTextContent();
                                          else if ("expireDate".equals(node3.getNodeName())) // 输出name
                                              expireDate =node3.getTextContent();
                                }
                              }
                             
                             }
                            }

                           }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值