今天发现一个可以提供火车票时刻表查询的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、作用:通过火车车次查询本火车时刻表
DataSet2、说明:输入参数:车次代号字符串,空字符串默认上海到北京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

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

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

  1. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...

  2. 我的Android进阶之旅------>如何解决Android 5.0中出现的警告: Service Intent must be explicit:

    我的Android进阶之旅-->如何解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be ...

  3. 我的Android进阶之旅------> Android为TextView组件中显示的文本添加背景色

    通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...

  4. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之实现游戏逻辑(五)

    在上一篇<我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)>中提到的两个类: GameConf:负责管理游戏的 ...

  5. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

    正如在<我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)>一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piec ...

  6. 我的Android进阶之旅------>Android中AsyncTask源码分析

    在我的<我的Android进阶之旅------>android异步加载图片显示,并且对图片进行缓存实例>文章中,先后使用了Handler和AsyncTask两种方式实现异步任务机制. ...

  7. 我的Android进阶之旅------&gt;怎样解决Android 5.0中出现的警告: Service Intent must be explicit:

    我的Android进阶之旅-->怎样解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be ...

  8. 我的Android进阶之旅------&gt; Android为TextView组件中显示的文本加入背景色

    通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...

  9. 我的Android进阶之旅------> Android为TextView组件中显示的文本加入背景色

    通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...

随机推荐

  1. 配置 FIS 来适配 go revel 框架以优化前端缓存策略

    对于前端工程师来说,浏览器缓存优化是个永远的话题.前几天看了知乎上的一个问答:<大公司里怎样开发和部署前端代码?>,深以为然,所以决心使用 FIS 来优化自身的前端文件. 我们的项目使用了 ...

  2. 国内外DNS服务器地址列表大全

    DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址. 通常来说,香港.韩国.日本等国的DNS服务器速度会比较快,大家可以多用几 ...

  3. 编辑器未包含main类型

    明明写了main函数,在运行的时候,却得到这样的结果. 解决方案: 重新建立一个项目,建立项目的过程中

  4. [linux]netstat命令详解-显示linux中各种网络相关信息

    1.功能与说明 netstat 用于显示linux中各种网络相关信息.如网络链接 路由表  接口状态链接 多播成员等等. 2.参数含义介绍 -a (all)显示所有选项,默认不显示LISTEN相关-t ...

  5. Excel中判断一个表中的某一列的数据在另一列中是否存在

      A B C D 1 10   3 有 2 6   e 无 3 3   6 有 判断c列的值在A列中是否存在(假定C列为需要判断列,A列为目标列) 在D1中输入以下公式,然后下拉公式即可 =IF(C ...

  6. VB.NET小结

    在满头困惑与不断的摸索中.NET视频终究是看完了,感觉这是迄今为止的视频材料中最令人头疼的一个,漫天的繁体字和标准的台湾术语,真是让人欲罢不能.只是看着看着也就慢慢习惯了,大概可以理解老师在讲什么,可 ...

  7. POI 实现合并单元格以及列自适应宽度

    POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...

  8. Trie树学习

    这几天在看Hadoop的排序,用到了有TotalSortPartition,其中用到了一种叫做trie树的数据结构,每次看到这种自己之前没有听过的数据结构就想去看一下原理,然后再网上看几篇博客,有时间 ...

  9. Ubuntu配置apache2.4配置虚拟主机遇到的问题

    update: 偶然看到了 apache的更新说明,直接贴个地址过来吧. http://httpd.apache.org/docs/2.4/upgrading.html 最近想把web开发目录从/va ...

  10. 安装Struts2 类库

    现在,如果一切正常,那么你可以继续设置您的Struts 2框架.以下是简单的步骤,下载并安装在机器上Struts2. 请选择是否要安装Hibernate在Windows或Unix,然后继续进行下一个步 ...