Java 解析webservice xml成Java对象
xml解析成Java对象,这里是请求webservice的接口返回的xml,因为公司需要将数据入库,所以必须解析成Java对象或者json格式才能将数据对应相应的字段入库,希望对你有帮助,当然网上有许多解析xml的文章,但是不一定是解析webservice接口返回的xml格式。 如果达不到你想要的接口,请根据代码注释进行相应的修改与调整。以下是例子!
import com.alibaba.fastjson.JSONArray;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import org.xml.sax.InputSource;
import java.io.StringReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test5 {
@Test
public void test(){
// 这里你可更具自己的接口调用webservice接口返回的xml进行动态解析
String xml = "<ns:getStationRecordResponse xmlns:ns=\"http://service\">\n" +
" <ns:return><?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<root><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>24</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>082923</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>10</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>080122</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>11</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>080236</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>12</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>080338</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>13</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>080720</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>14</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>080838</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>15</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>081110</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>16</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>081153</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>17</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>081347</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>18</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>081727</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>19</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>082003</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>20</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>082257</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>21</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>082438</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>22</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>082606</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>23</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>082800</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>25</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>083129</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>26</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>083212</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>25</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>084155</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>24</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>084341</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>23</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>084553</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>22</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>084820</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>21</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>084921</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>20</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>085157</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>19</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>085310</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>18</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>085542</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>16</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090040</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>15</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090217</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>14</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090419</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>13</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090557</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>12</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090737</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>9</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>091112</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>11</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090911</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>10</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>090956</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>8</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>091207</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>7</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>091513</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>6</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>091620</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>5</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>091733</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>4</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>091947</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>3</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>092211</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>2</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>092334</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>1</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>092428</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>1</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>094134</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>2</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>094237</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>3</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>094403</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>4</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>094634</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>5</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>094805</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>6</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>095013</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>7</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>095242</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>8</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>095438</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>9</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>095524</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>10</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>095831</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>12</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>100037</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>11</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>095939</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>13</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>100309</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>14</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>100432</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>15</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>100705</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>16</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>100828</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>17</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>100938</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>0</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>26</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>121317</lszdsjb_sj><lszdsjb_sxxName>下行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>25</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>125123</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>24</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>125343</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>23</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>125506</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>22</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>125615</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>21</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>125710</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>20</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>125911</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>19</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>130153</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>18</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>130348</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data><data><mc>公用驾驶员</mc><lszdsjb_xlbh>8</lszdsjb_xlbh><lszdsjb_ch>30701</lszdsjb_ch><lszdsjb_sxx>1</lszdsjb_sxx><lszdsjb_jsy>100010</lszdsjb_jsy><lszdsjb_zdxh>16</lszdsjb_zdxh><LSZDXX_ZPMC></LSZDXX_ZPMC><LSZDSJB_BZLB>1</LSZDSJB_BZLB><lszdsjb_sj>130630</lszdsjb_sj><lszdsjb_sxxName>上行</lszdsjb_sxxName></data></root></ns:return>\n" +
"</ns:getStationRecordResponse>";
//然后用SOAPMessage 和 SOAPBody
Document personDoc;
try {
personDoc = new SAXReader().read(new StringReader(xml));
Element rootElt = personDoc.getRootElement(); // 获取根节点
Iterator<Element> body = rootElt.elementIterator("return");
System.out.println(rootElt);
System.out.println(body);
while (body.hasNext()) {
Element recordEless = (Element) body.next();
System.out.println("getName: "+recordEless.getName());
System.out.println("getData: "+recordEless.getData());
System.out.println("getNamespacePrefix: "+recordEless.getNamespacePrefix());
System.out.println("getQName: "+recordEless.getQName());
System.out.println("getXPathResult: "+recordEless.getXPathResult(1));
System.out.println("getQualifiedName: "+recordEless.getQualifiedName());
System.out.println("getStringValue: "+recordEless.getStringValue());
System.out.println("getText: "+recordEless.getText());
System.out.println("getDocument: "+recordEless.getDocument());
System.out.println("getNodeTypeName: "+recordEless.getNodeTypeName());
System.out.println("getNodeType: "+recordEless.getNodeType());
System.out.println("getParent: "+recordEless.getParent());
System.out.println("getPath: "+recordEless.getPath());
System.out.println("recordEless: "+recordEless);
//String node = nextSubElement(recordEless.getName(), recordEless.getStringValue(), recordEless);
//System.out.println(node);
preaxml(recordEless.getData().toString());
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
public static void preaxml(String xml){
//然后用SOAPMessage 和 SOAPBody
Document personDoc;
try {
personDoc = new SAXReader().read(new StringReader(xml));
Element rootElt = personDoc.getRootElement(); // 获取根节点
Iterator<Element> body = rootElt.elementIterator("data");
System.out.println(rootElt);
System.out.println(body);
while (body.hasNext()) {
System.out.println("================================================");
Element recordEless = (Element) body.next();
System.out.println("getName: "+recordEless.getName());
System.out.println("getData: "+recordEless.getData());
System.out.println("getNamespacePrefix: "+recordEless.getNamespacePrefix());
System.out.println("getQName: "+recordEless.getQName());
System.out.println("getXPathResult: "+recordEless.getXPathResult(1));
System.out.println("getQualifiedName: "+recordEless.getQualifiedName());
System.out.println("getStringValue: "+recordEless.getStringValue());
System.out.println("getText: "+recordEless.getText());
System.out.println("getDocument: "+recordEless.getDocument());
System.out.println("getNodeTypeName: "+recordEless.getNodeTypeName());
System.out.println("getNodeType: "+recordEless.getNodeType());
System.out.println("getParent: "+recordEless.getParent());
System.out.println("getPath: "+recordEless.getPath());
System.out.println("getNamespace: "+recordEless.getNamespace());
System.out.println("getNamespaceURI: "+recordEless.getNamespaceURI());
System.out.println("getTextTrim: "+recordEless.getTextTrim());
System.out.println("getXPathResult: "+recordEless.getXPathResult(1));
System.out.println("recordEless: "+recordEless);
String node = nextSubElement("data", "", recordEless);
System.out.println(node);
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
/**
* 递归方法,查找本节点是否有标记信息,如果没有就查找下一层,
* 在下一层里同样查找本层节点,只要找到值,就层层返回。
* @param node 节点标签名
* @param attr 节点属性值
* @param el 当前节点对象
* @return 目标值
*/
public static String nextSubElement(String node, String attr, Element el) {
List<Map<String, Object>> list = new ArrayList();
if (el.getName().equals(node)) {
//说明 找到了目标节点
//属性值为空说明取标签内容
if (attr.equals("")) {
Iterator sub2 = el.elementIterator();
//有子节点说明标签内容不是单一值,需要拿到查询结果
if (sub2.hasNext()) {
while (sub2.hasNext()) {
Map<String, Object> map = new HashMap<>();
Element s2 = (Element) sub2.next();
System.out.println("s2: ======================"+s2.getName());
System.out.println("s2: ======================"+s2.getStringValue());
//如果返回的不是单一的标记值,而是查询结果,有些麻烦,
//查询结果应当是list<map>格式,但是map的key值不好确定,是标签名作为key还是属性值作为key
map.put(s2.getName(),s2.getStringValue());
list.add(map);
System.out.println(list);
}
} else {
return el.getText();
}
} else {
Attribute attrbute = el.attribute(attr);
return attrbute.getText();
}
} else {
Iterator sub2 = el.elementIterator();
while (sub2.hasNext()) {
Element sub = (Element) sub2.next();
return nextSubElement(node, attr, sub);
}
}
return "";
}
}
这里是我解析出来的结果