我的Android进阶之旅------>关于调用Webservice查询火车票时刻表的几个接口介绍

简介: 今天发现一个可以提供火车票时刻表查询的WebService,先记录下来以后如果写一个火车票时刻表查询的Android App的话就用的着。首先该WebService的的名字是TrainTimeWebService,地址是:http://webservice.webxml.com.cn/WebServices/TrainTimeWebService.asmx。

今天发现一个可以提供火车票时刻表查询的WebService,先记录下来以后如果写一个火车票时刻表查询的Android App的话就用的着。首先该WebService的的名字是TrainTimeWebService,地址是:http://webservice.webxml.com.cn/WebServices/TrainTimeWebService.asmx

当然关于WebService的相关知识可以查看本人的另外文章:

下面就来介绍火车时刻表查询的几个接口:

getStationNameDataSet :

    1、作用:获得本火车时刻表Web Services支持的全部站台名称和拼音缩写 DataSet  
    2、说明:输入参数:无;返回数据:结构为 站台名称、拼音缩写,按拼音缩写升序排列
    3、实例:调用该接口后返回的XML数据,部分代码如下所示,有些站点没有拼音缩写:
    <StationName diffgr:id="StationName1985" msdata:rowOrder="1984">
    <station_name>深圳</station_name>
    <station_shortcode>SZ</station_shortcode>
    </StationName>
    <StationName diffgr:id="StationName2001" msdata:rowOrder="2000">
    <station_name>深圳西</station_name>
    <station_shortcode>SZX</station_shortcode>
    </StationName>
    <StationName diffgr:id="StationName86" msdata:rowOrder="85">
    <station_name>深圳北</station_name>
    <station_shortcode/>
    </StationName>
    <StationName diffgr:id="StationName87" msdata:rowOrder="86">
    <station_name>深圳东</station_name>
    <station_shortcode/>
    </StationName>

    getStationName :

      1、作用:获得本火车时刻表Web Services支持的全部站台名称
      2、说明:输入参数:无,输出参数 String()
      3、实例: 调用该接口后返回的XML数据,部分代码如下所示:
      <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
      <string>深圳</string>
      <string>深圳北</string>
      <string>深圳东</string>
      <string>深圳西</string>
      </ArrayOfString>

      getStationAndTimeDataSetByTrainCode :

        1、作用: 通过火车车次查询本火车时刻表 DataSet
        2、说明:输入参数:车次代号字符串,空字符串默认上海到北京D32次,UserID = 商业用户ID(普通用户不需要);
        返回数据:DataSet,Item.(TrainCode)=车次、Item.(FirstStation)=始发站、Item.(LastStation)=终点站、
        Item.(StartStation)=发车站、Item.(StartTime)=发车时间、Item.(ArriveStation)=到达站、
        Item.(ArriveTime)=到达时间、Item.(KM)=里程(KM)、Item.(UseDate)=历时
        3、实例:如图我们输入车次D7001再调用该接口后,
        返回的XML数据部分代码如下所示:
        <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
        <getStationAndTime xmlns="">
        <TimeTable diffgr:id="TimeTable1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
        <TrainCode>D7001</TrainCode>
        <FirstStation>广州</FirstStation>
        <LastStation>深圳</LastStation>
        <StartStation>广州</StartStation>
        <StartTime>06:03:00</StartTime>
        <ArriveStation>深圳</ArriveStation>
        <ArriveTime>07:34:00</ArriveTime>
        <KM>147</KM>
        <UseDate>1:31</UseDate>
        </TimeTable>
        </getStationAndTime>
        </diffgr:diffgram>

        getStationAndTimeDataSetByTrainCode :

        1、作用: 通过火车车次查询本火车时刻表(支持模糊查询) DataSet
        2、说明:输入参数:车次代号字符串(支持模糊查询),空字符串默认上海到北京D32次,UserID = 商业用户ID(普通用户不需要);
        返回数据:DataSet,Item.(TrainCode)=车次、Item.(FirstStation)=始发站、Item.(LastStation)=终点站、
        Item.(StartStation)=发车站、Item.(StartTime)=发车时间、Item.(ArriveStation)=到达站、Item.(ArriveTime)=到达时间
        Item.(KM)=里程(KM)、Item.(UseDate)=历时
        3、实例: 如图我们输入车次D700,再调用该接口进行模糊查询后,

        返回的XML数据部分代码如下所示:
          <getStationAndTime xmlns="">
          <TimeTable diffgr:id="TimeTable1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
          <TrainCode>D7001</TrainCode>
          <FirstStation>广州</FirstStation>
          <LastStation>深圳</LastStation>
          <StartStation>广州</StartStation>
          <StartTime>06:03:00</StartTime>
          <ArriveStation>深圳</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>147</KM>
          <UseDate>1:31</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
          <TrainCode>D7002</TrainCode>
          <FirstStation>深圳</FirstStation>
          <LastStation>广州</LastStation>
          <StartStation>深圳</StartStation>
          <StartTime>07:46:00</StartTime>
          <ArriveStation>广州</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>147</KM>
          <UseDate>1:34</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable3" msdata:rowOrder="2" diffgr:hasChanges="inserted">
          <TrainCode>D7003</TrainCode>
          <FirstStation>广州</FirstStation>
          <LastStation>深圳</LastStation>
          <StartStation>广州</StartStation>
          <StartTime>09:32:00</StartTime>
          <ArriveStation>深圳</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>147</KM>
          <UseDate>1:35</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable4" msdata:rowOrder="3" diffgr:hasChanges="inserted">
          <TrainCode>D7004</TrainCode>
          <FirstStation>深圳</FirstStation>
          <LastStation>广州东</LastStation>
          <StartStation>深圳</StartStation>
          <StartTime>11:20:00</StartTime>
          <ArriveStation>广州东</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>139</KM>
          <UseDate>1:19</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable5" msdata:rowOrder="4" diffgr:hasChanges="inserted">
          <TrainCode>D7005</TrainCode>
          <FirstStation>广州东</FirstStation>
          <LastStation>深圳</LastStation>
          <StartStation>广州东</StartStation>
          <StartTime>12:54:00</StartTime>
          <ArriveStation>深圳</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>139</KM>
          <UseDate>1:19</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable6" msdata:rowOrder="5" diffgr:hasChanges="inserted">
          <TrainCode>D7006</TrainCode>
          <FirstStation>深圳</FirstStation>
          <LastStation>广州东</LastStation>
          <StartStation>深圳</StartStation>
          <StartTime>14:25:00</StartTime>
          <ArriveStation>广州东</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>139</KM>
          <UseDate>1:19</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable7" msdata:rowOrder="6" diffgr:hasChanges="inserted">
          <TrainCode>D7007</TrainCode>
          <FirstStation>广州东</FirstStation>
          <LastStation>深圳</LastStation>
          <StartStation>广州东</StartStation>
          <StartTime>15:56:00</StartTime>
          <ArriveStation>深圳</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>139</KM>
          <UseDate>1:19</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable8" msdata:rowOrder="7" diffgr:hasChanges="inserted">
          <TrainCode>D7008</TrainCode>
          <FirstStation>深圳</FirstStation>
          <LastStation>广州东</LastStation>
          <StartStation>深圳</StartStation>
          <StartTime>17:27:00</StartTime>
          <ArriveStation>广州东</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>139</KM>
          <UseDate>1:19</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable9" msdata:rowOrder="8" diffgr:hasChanges="inserted">
          <TrainCode>D7009</TrainCode>
          <FirstStation>广州东</FirstStation>
          <LastStation>深圳</LastStation>
          <StartStation>广州东</StartStation>
          <StartTime>18:58:00</StartTime>
          <ArriveStation>深圳</ArriveStation>
          <ArriveTime>07:34:00</ArriveTime>
          <KM>139</KM>
          <UseDate>1:19</UseDate>
          </TimeTable>
          </getStationAndTime>

          getStationAndTimeByTrainCode :

          1、作用: 通过火车车次查询火车时刻表 String()
          2、说明:输入参数:车次代号字符串,空字符串默认上海到北京D32次,UserID = 商业用户ID(普通用户不需要);
          返回数据:一个一维字符串数组 String(9),String(0)=车次、String(1)=始发站、String(2)=终点站、
          String(3)=发车站、 String(4)=发车时间、String(5)=到达站、String(6)=到达时间、String(7)=里程(KM)、
          String(8)=历时、String(9)=空字符串(备用)
          3、实例: 如图我们输入车次D7001,再调用该接口进行模糊查询后,

          返回的XML数据部分代码如下所示:
          <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
          <string>D7001</string>
          <string>广州</string>
          <string>深圳</string>
          <string>广州</string>
          <string>06:03:00</string>
          <string>深圳</string>
          <string>07:34:00</string>
          <string>147</string>
          <string>1:31</string>
          <string/>
          </ArrayOfString>

          getStationAndTimeByStationName: 

          1、作用: 通过发车站和到达站查询火车时刻表 DataSet
          2、说明:输入参数:StartStation = 发车站,ArriveStation = 到达站(支持第一个字匹配模糊查询),空字符串默认发车站上海
          和到达站北京,UserID = 商业用户ID(普通用户不需要);
          返回数据:DataSet,Item.(TrainCode)=车次、Item.(FirstStation)=始发站、Item.(LastStation)=终点站、
          Item.(StartStation)=发车站、Item.(StartTime)=发车时间、Item.(ArriveStation)=到达站、
          Item.(ArriveTime)=到达时间、Item.(KM)=里程(KM)、Item.(UseDate)=历时
          3、实例: 如图我们输入发车站:深圳、到达站:广州,再调用该接口进行模糊查询后,

          返回的XML数据部分代码如下所示:
          <getStationAndTime xmlns="">
          <TimeTable diffgr:id="TimeTable1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
          <TrainCode>D7002</TrainCode>
          <FirstStation>深圳</FirstStation>
          <LastStation>广州</LastStation>
          <StartStation>深圳</StartStation>
          <StartTime>07:46:00</StartTime>
          <ArriveStation>广州东</ArriveStation>
          <ArriveTime>09:05:00</ArriveTime>
          <KM>139</KM>
          <UseDate>01:19</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
          <TrainCode>D7002</TrainCode>
          <FirstStation>深圳</FirstStation>
          <LastStation>广州</LastStation>
          <StartStation>深圳</StartStation>
          <StartTime>07:46:00</StartTime>
          <ArriveStation>广州</ArriveStation>
          <ArriveTime>09:20:00</ArriveTime>
          <KM>147</KM>
          <UseDate>01:34</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable137" msdata:rowOrder="136" diffgr:hasChanges="inserted">
          <TrainCode>K9060\K9061</TrainCode>
          <FirstStation>深圳西</FirstStation>
          <LastStation>怀化</LastStation>
          <StartStation>深圳西</StartStation>
          <StartTime>19:08:00</StartTime>
          <ArriveStation>广州</ArriveStation>
          <ArriveTime>21:18:00</ArriveTime>
          <KM>162</KM>
          <UseDate>02:10</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable138" msdata:rowOrder="137" diffgr:hasChanges="inserted">
          <TrainCode>K9064\K9065</TrainCode>
          <FirstStation>深圳西</FirstStation>
          <LastStation>铜仁</LastStation>
          <StartStation>深圳西</StartStation>
          <StartTime>11:20:00</StartTime>
          <ArriveStation>广州</ArriveStation>
          <ArriveTime>13:50:00</ArriveTime>
          <KM>162</KM>
          <UseDate>02:30</UseDate>
          </TimeTable>
          <TimeTable diffgr:id="TimeTable139" msdata:rowOrder="138" diffgr:hasChanges="inserted">
          <TrainCode>K9076</TrainCode>
          <FirstStation>深圳东</FirstStation>
          <LastStation>常德</LastStation>
          <StartStation>深圳东</StartStation>
          <StartTime>19:05:00</StartTime>
          <ArriveStation>广州</ArriveStation>
          <ArriveTime>21:24:00</ArriveTime>
          <KM>139</KM>
          <UseDate>02:19</UseDate>
          </TimeTable>
          </getStationAndTime>

          getDetailInfoByTrainCode :

          1、作用: 通过火车车次查询列车经由车站明细 DataSet
          2、说明:输入参数:车次代号字符串,空字符串默认上海到北京D32次,UserID = 商业用户ID(普通用户不需要);
          返回数据:DataSet,Item.(TrainStation)=车站名称、Item.(ArriveTime)=到站时间、
          Item.(StartTime)=发车时间、Item.(KM)=里程(KM)
          3、实例: 如图我们输入发车站:深圳、到达站:广州,再调用该接口进行模糊查询后,

          返回的XML数据部分代码如下所示:
          <getDetailInfo xmlns="">
          <TrainDetailInfo diffgr:id="TrainDetailInfo1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
          <TrainStation>广州(车次:D7001)</TrainStation>
          <ArriveTime/>
          <StartTime>06:03:00</StartTime>
          <KM>0</KM>
          </TrainDetailInfo>
          <TrainDetailInfo diffgr:id="TrainDetailInfo2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
          <TrainStation>广州东</TrainStation>
          <ArriveTime>06:13:00</ArriveTime>
          <StartTime>06:15:00</StartTime>
          <KM>8</KM>
          </TrainDetailInfo>
          <TrainDetailInfo diffgr:id="TrainDetailInfo3" msdata:rowOrder="2" diffgr:hasChanges="inserted">
          <TrainStation>石龙</TrainStation>
          <ArriveTime>06:41:00</ArriveTime>
          <StartTime>06:43:00</StartTime>
          <KM>69</KM>
          </TrainDetailInfo>
          <TrainDetailInfo diffgr:id="TrainDetailInfo4" msdata:rowOrder="3" diffgr:hasChanges="inserted">
          <TrainStation>常平</TrainStation>
          <ArriveTime>06:54:00</ArriveTime>
          <StartTime>06:56:00</StartTime>
          <KM>90</KM>
          </TrainDetailInfo>
          <TrainDetailInfo diffgr:id="TrainDetailInfo5" msdata:rowOrder="4" diffgr:hasChanges="inserted">
          <TrainStation>樟木头</TrainStation>
          <ArriveTime>07:03:00</ArriveTime>
          <StartTime>07:05:00</StartTime>
          <KM>103</KM>
          </TrainDetailInfo>
          <TrainDetailInfo diffgr:id="TrainDetailInfo6" msdata:rowOrder="5" diffgr:hasChanges="inserted">
          <TrainStation>深圳</TrainStation>
          <ArriveTime>07:34:00</ArriveTime>
          <StartTime/>
          <KM>147</KM>
          </TrainDetailInfo>
          </getDetailInfo>
          通过对以上几个接口的合理应用,我们就能通过调用这些接口,通过处理返回的XML数据,
          能够实现比较简单的Android火车票时刻查询应用。

        ==================================================================================================

          作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

          转载请保留原文地址http://blog.csdn.net/ouyang_peng

        ==================================================================================================


        相关文章
        |
        1月前
        |
        开发框架 监控 .NET
        C#进阶-ASP.NET WebForms调用ASMX的WebService接口
        通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
        53 5
        |
        3月前
        |
        XML 前端开发 Java
        JAVA调试webservice接口
        JAVA调试webservice接口
        63 0
        |
        5月前
        |
        Android开发 开发者
        Android项目架构设计问题之使用动态代理来增强 GoodsApi 接口的调用如何解决
        Android项目架构设计问题之使用动态代理来增强 GoodsApi 接口的调用如何解决
        30 0
        |
        5月前
        |
        存储 缓存 Java
        Android项目架构设计问题之优化业务接口数据的加载效率如何解决
        Android项目架构设计问题之优化业务接口数据的加载效率如何解决
        64 0
        |
        6月前
        |
        XML Java API
        使用WebService接口进行数据通信
        使用WebService接口进行数据通信
        |
        6月前
        |
        XML Java API
        使用WebService接口进行数据通信
        使用WebService接口进行数据通信
        |
        7月前
        |
        存储 算法 Java
        Android 进阶——代码插桩必知必会&ASM7字节码操作
        Android 进阶——代码插桩必知必会&ASM7字节码操作
        356 0
        |
        8月前
        |
        缓存 网络协议 Java
        挑战全网,史上最全Android开发进阶,跳槽复习指南(1),掌握这6大技能体系
        挑战全网,史上最全Android开发进阶,跳槽复习指南(1),掌握这6大技能体系
        Android-kotlin-接口与多态的表现,面经解析
        Android-kotlin-接口与多态的表现,面经解析
        |
        7月前
        |
        XML 网络协议 Java
        53. 【Android教程】Socket 网络接口
        53. 【Android教程】Socket 网络接口
        73 0

        热门文章

        最新文章