<?xml version="1.0" encoding="GBK"?>
<request version="1.0">
<query>
<filed name="FundOID" type="String"></filed>
<filed name="FundNum" type="String"></filed>
<filed name="SalePrice" type="String"></filed>
</query>
<query>
<filed name="FundOID" type="String"></filed>
<filed name="FundNum" type="String"></filed>
<filed name="SalePrice" type="String"></filed>
</query>
<query>
<filed name="FundOID" type="String"></filed>
<filed name="FundNum" type="String"></filed>
<filed name="SalePrice" type="String"></filed>
</query>
<query>
<filed name="TransToFundOID" type="String"></filed>
<filed name="SaleNum" type="String"></filed>
<filed name="TransToFundName" type="String"></filed>
</query>
<query>
<filed name="TransToFundOID" type="String"></filed>
<filed name="SaleNum" type="String"></filed>
<filed name="TransToFundName" type="String"></filed>
</query>
<query>
<filed name="IDNUmber" type="String"></filed>
<filed name="policyNumber" type="String"></filed>
<filed name="operIp" type="String"></filed>
</query>
</request>
上面是一个发送过来的xml报文,如何通过解析
可以这样得到数据
String[] fundOID = (String[]) map.get("fundOID");
String[] fundNum = (String[]) map.get("fundNum");
String policyNumber = map.get("policyNumber");
String operIp = map.get("operIp");
你先把xml 解析成json数组,通过循环就取出来了啊。
XML -》 object -> json
XMLSerialier用一下。
详情看 http://datalife.iteye.com/blog/1058466/
我是刚接触报文,各位大神可以给点具体的代码吗
参考一下xpath文档,提取你想要的值
我的节点名都是一样的,不同的是节点的属性name的值不同,根据name的值相同的取出放到一起形成一个数组存到map集合中
这个要怎么做
你可以使用dom解析,然后输出即可!
if ("query".equals(monits.getName())) {
for (Iterator j = monits.elementIterator(); j.hasNext();) {
Element moint = (Element) j.next();
if ("filed".equals(moint.getName())) {
String key = moint.attribute("name").getValue();
String value = moint.getText();
map.put(key, value);
}
}
}
怎样根据不同的name属性值,把相同的存到一起,最后存到map里面