xml标签里有rownum_Java中解析XML

MAVEN坐标:

jdom

jdom

1.0

XML格式:

1

数据下载成功

1

1

1

皖A123456

皖A123456

车辆类型

车辆识别代号

发动机号

车辆类型

车身颜色

使用性质

机动车所有人

初次登记日期

检验有效期止

强制报废期止

机动车状态

发动机型号

燃料种类

1

1

1

1

总质量

整备质量

核定载质量

核定载客

出厂日期

代码如下:

package com.goldensky.common;

import java.io.StringReader;

import java.util.List;

import org.jdom.Document;

import org.jdom.Element;

import org.jdom.input.SAXBuilder;

import org.xml.sax.InputSource;

public class Test {

public static void main(String[] args) throws Exception {

String xml = "<?xml version='1.0' encoding='GBK'?>1数据下载成功111皖A123456皖A123456车辆类型车辆识别代号发动机号车辆类型车身颜色使用性质机动车所有人初次登记日期检验有效期止强制报废期止机动车状态发动机型号燃料种类1111总质量整备质量核定载质量核定载客出厂日期";

getBean(xml);

}

public static void getBean(String xmlDoc)

{

//创建一个新的字符串

StringReader read = new StringReader(xmlDoc);

//创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入

InputSource source = new InputSource(read);

//创建一个新的SAXBuilder

SAXBuilder sb = new SAXBuilder();

try {

//通过输入源构造一个Document

Document doc = sb.build(source);

//取的根元素

Element root = doc.getRootElement();

System.out.println(root.getName());//输出根元素的名称(测试)

//得到根元素所有子元素的集合

List nodelist = root.getChildren();

Element et = null;

Element ev = null;//veh下面的节点

for(int i=0;i

et = (Element) nodelist.get(i);//循环依次得到子元素

if(et.getName().equals("head"))

{

System.out.println(et.getChild("code",null).getText());

System.out.println(et.getChild("message",null).getText());

System.out.println(et.getChild("rownum",null).getText());

}

else if(et.getName().equals("body"))

{

System.out.print("开始读取Veh节点信息...");

List nd =et.getChildren();

for(int j=0;i<=nd.size();j++)

{

ev=(Element) nd.get(j);

//这里就是判断有多个veh,可以取多个veh下面的节点。根据我们的业务,就默认取第一个veh

List count= ev.getAttributes();

if(ev.getName().equals("veh"))

{

System.out.println(ev.getChild("xh",null).getText());

System.out.println(ev.getChild("hpzl",null).getText());

System.out.println(ev.getChild("hphm",null).getText());

System.out.println(ev.getChild("clxh",null).getText());

System.out.println(ev.getChild("clsbdh",null).getText());

System.out.println(ev.getChild("fdjh",null).getText());

System.out.println(ev.getChild("cllx",null).getText());

System.out.println(ev.getChild("csys",null).getText());

System.out.println(ev.getChild("syxz",null).getText());

}

}

}

}

} catch (Exception e) {

// TODO: handle exception

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值