Webservice接口数据抽取_Kettel<二>
来源:互联网 发布:全球聊天软件排名 编辑:程序博客网 时间:2024/06/08 12:34
前一篇介绍了Webservice接口的调用,现在介绍一下XML的解析
对XML的解析的主要点在于:Xpath。不管是kettel还是oracle函数,找对了节点的路径,基本上解析就成功了。
Xpath基本的介绍:http://www.ruanyifeng.com/blog/2009/07/xpath_path_expressions.html
一、Kettel解析
a、XML文件输入
在上一遍中,我们调用接口生成了一个Txt文件,现在用kettel的“XML文件输入”工具对该文件进行解析,
但是这里的子节点全部都是<string>,利用kettel并不能很好的兼容,这个问题会在后面的java篇中介绍。这里先用一个比较标准的XML格式演示,如下:
添加文件:
获取XML文档节点路径:
获取输入字段:(这里将字段的类型设置为string,用自动获取的类型,在抽取的时候,可能会出现转换失败)
最后,可以预览一下数据:
对于这种基本格式的XML,只要kettel可以解析出XPath,基本数据就可以解析出来,然后直接存到数据库中。
对于其他格式,我们就需要自己去调整路径了,从下面两个地方去修改XML节点路径。
例如DataSet格式的XML
DataSet包括两个部分,一个是说明部分,一个是数据部分(自己这么叫的,不专业);XML表示的一张或多张表。
天气接口:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getSupportDataSet
说明部分:
数据部分:
对于这种情况,先要找到数据部分的节点路径,在找到内个字段的路径。
1、节点路径:
字段路径:
路径对了,数据的处理就和前面是一样的。
二、Oracle解析
oracle功能十分的强大,可以自身去解析出很多种格式的XML文件,并且可以用工具清晰的看出来(例如PL/SQL);同时也可以利用oracle自带的函数来取出节点的数据。
a、oracle解析XML介绍
我首先将XML文件作为Clob字段存入数据库,然后通过PL/SQL查看:
oracle很完美的将XML解析出来。
甚至DataSet格式也是很轻而易举的解析:
b、oracle进行XML解析的函数:
主要有三个函数:
例如:
select extract(xmltype(VAR1),'root/Data/PatientId') from test
对于kettel的接口抽取基本介绍这么多;从文中可以看出,kettel进行XML的解析限制很多,XML的格式一变化,就要花很多的精力去修改路径;同时对应XML的编码、版本、接口的实现方式等都有要求。所以接下来想对kettel进行二次开发利用,java进行XML解析,整合kettel,一起来解决webservice接口数据抽取的难题。
- Webservice接口数据抽取_Kettel<二>
- Webservice接口数据抽取_kettel<一>
- Android_GitHub_jsoup(二)数据抽取
- 精算接口业务数据抽取
- 系统对接,抽取数据接口设计
- 对图像数据进行二抽取
- KETTLE——(二)数据抽取
- JAVA开发2--java开发调用webservice抽取数据
- 实用数据WebService接口收集
- 调用WebService接口获取数据
- 数据抽取
- 常用的免费Webservice接口(二)
- 常用的webservice接口(二)
- 接口程序:webservice发送报文二:
- 数据仓库应用(二):数据抽取、转换、加载(ETL)
- kettle案例二抽取mysql数据保存到mongodb
- Kettle数据抽取---增量抽取
- android获取webservice接口的数据
- 学习笔记之删除联系人
- HDU 5675 ztr loves math(技巧枚举)
- SWT编程基础-控件和图形资源
- mysql数据库text、varchar、blob数据类型比较
- perl 5.22手动安装Mysql DBI和DBD
- Webservice接口数据抽取_Kettel<二>
- C语言typedef标识符
- CALayer精讲(转)
- 非原子性操作
- 数组名与指针变量
- 基于HTML5的有弹幕功能的视频播放器
- Java里子类调用父类构造方法问题
- oracle 不同表空间的数据迁移
- Android短信验证(手机号注册,绑定手机号获取验证码)实例