解析xml第二子节点

2023-10-31


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();
                                }
                              }
                             
                             }
                            }

                           }

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析xml第二子节点 的相关文章

随机推荐

  • 7大嵌入式开发技巧,你知道吗?

    成为一个正式的工程师 它是一个艰辛的过程 需要开发人员维护和管理系统的每个比特和字节 从规范完善的开发周期到严格执行和系统检查 开发高可靠性嵌入式系统的技术有许多种 今天给大家介绍7个易操作且可以长久使用的技巧 它们对于确保系统更加可靠地运
  • ‘执行力’

    执行力 执行力是一种能力 更是一种态度 很多时候 因为犹豫不决 导致很多不应该发生的事情发生了 从今天起 锻炼自己的执行能力 从生活中的的小事开始 起床铃声响起 不赖床 想到什么就去实践 结果如何那都是后话 如果都不去做 何来的结果
  • [C4W4] Convolutional Neural Networks - Special applications: Face recognition & Neural style transfe...

    第四周 Special applications Face recognition Neural style transfer 什么是人脸识别 What is face recognition 欢迎来到第四周 即这门课卷积神经网络课程的最后
  • javascript 获取 全部cookie(以对象形式返回)

    javascript 获取 cookie 以对象形式返回 建议定义全局变量cookie if document cookie var cookie eval document cookie replaceAll replaceAll els
  • linux vmstat io,Linux下vmstat调优工具的深入分析 (*****)

    vmstat procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 310596 24796 1437
  • mybatis概述及搭建

    目录 1 概述 2 mybatis搭建 1 创建一个maven项目 添加mybatis mysql所依赖的jar 2 创建一个数据库表 及对应的java类 3 创建一个mybatis的核心配置文件 配置数据库连接信息 配置sql映射文件 4
  • 【Unity-Cinemachine相机】相机跟随之Transposer属性

    相机跟随和瞄准行为 Transposer 虚拟相机将在某个固定的偏移或距离上跟随目标移动 上面的偏移量就是Follow Offset Binding Mode决定Follow Offset是目标本地坐标系下的身后十米还是世界坐标系下的身后十
  • apache druid学习之Processes and servers

    Processes and servers Apache Druid Process types Druid has several process types Coordinator Overlord Broker Historical
  • 获取代理服务器ip列表的方法

    开源项目 https github com SpiderClub haipproxy 看爬代理的网址列表应该是最多的 CRAWLER TASKS name mogumiao com resource http www mogumiao co
  • MongoDB下载安装教程

    MongoDB下载安装教程 1 下载 2 安装 3 启动mongoDB 3 1 在windows的任务管理器中启动mongoDB 3 2 双击mongo exe 启动mongodb 3 3 在此处输入命令 操作数据库 4 操作mongoDB
  • linux经典面试问题

    你在准备 Linux 面试吗 我们准备了一些常见的 Linux 面试问题及其答案 如果您是初学者 具有一定的 Linux 知识或获得认证 或具有专业的 Linux 管理经验 那么下面的问答有助于您准备面试 1 什么是Linux及基本组件 L
  • java.net.UnknownServiceException: CLEARTEXT communication to www.httpbin.org not permitted by networ

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 在Android9 0系统的手机上访问http的api 出现以下异常 java net UnknownServiceException
  • 理解RoIAlign实际操作

    我们的模型取一个大小为 512x512x3 宽度x高度x RGB 的图像输入 VGG16将其映射为一个 16x16x512的feature map 比例因子是 32 接下来 我们将使用其中一个proposed RoIs 145x200box
  • C++构造函数/析构函数 设置成private的原因

    将构造函数 析构函数声明为私有和保护的 那么对象如何创建 已经不能从外部调用构造函数了 但是对象必须被构造 应该如何解决 麻烦大家帮忙说明 关于构造 析构函数声明为私有和保护时的用法 提出这个问题 说明你已经对c 有所思考了 从语法上来讲
  • C++多线程之std::thread

    C 11 包含头文件 thread h 并使用命名空间std thread类提供的方法 方法 描述 thread 构造函数 在这里传入线程执行函数 和函数参数 get id 返回std thread id 这是一个类 可以间接得到unsig
  • 在centos7下docker 制作 java8镜像,上传到阿里云镜像仓库

    一 本地制作镜像 1 拉取centos4基础镜像 docker pull centos 7 创建目录 后面都在这个目录下操作 mkdir usr local docker app java projects java8 cd usr loc
  • vue 前端数据进行 RSA 加密、解密、签名、验签

    未整理完 关于加密 base64 加密是属于双向加密 就是加密后可以解密回来 MD5 是单向加密 就是加密后无法解密 MD5 加盐加密就是将 用户名 密码 进行MD5加密 类似都叫加盐 这里用户名就是盐值 支付宝的公钥私钥加密 公钥解密私钥
  • Intel Corporation SSD 750 Series 性能测试

    作者 QQ群 852283276 微信 arm80x86 微信公众号 青儿创客基地 B站 主页 https space bilibili com 208826118 机器 j2 j2 pc uname a Linux j2 pc 4 13
  • 【“码”上有你】智能合约库有奖征码第3期来袭

    智能合约库有奖征码 活动开展以来 伙伴们群策群力踊跃贡献 帮助夯实了合约库的基础功能 涌现了诸如共享经济 商品溯源等更多面向实际业务场景的合约样板 使得合约库更加满足开发者和行业多样化的诉求 为了让更多开发者参与到智能合约库组件优化中 拓展
  • 解析xml第二子节点

    import org w3c dom Document import org w3c dom Element import org w3c dom Node import org w3c dom NodeList import org xm