kettel解析XML难点

最近一直用kettel对Webservice服务进行数据抽取;不同的公司,不同的开发,总是会各种各样的XML样式给你;解析XML确实比较头疼。

一、字符集问题

XML文件的字符集一般会设置成三种:UTF-8、GBK、ANSI

一般我们看XML的文件头,就知道是哪一种字符集:

kettel解析XML难点_第1张图片

对应的在kettel里面也要保持一致,解析才能成功。不然会有报错:

对于ANSI,这个比较。

你在txt文档里编辑好xml,文件头是UTF-8,保存。其实这个时候Windows默认自动保存为ANSI,需要另存为,改下字符集。

kettel解析XML难点_第2张图片

二、XML含有特殊字符

很多时候,其他公司给的XML不符合规范,值里面含有 “<” 这样的特殊字符,连浏览器都解析不出来。


	
		平凡<的世界1>
		18元1
		
	
	
		平凡的世界2
		18元2
		
	

用火狐解析:

kettel解析XML难点_第3张图片

这时候,需要将含有特殊字符的节点,用设置为默认不解析:


	
		<![CDATA[平凡<的世界1>]]>
		18元1
		
	
	
		平凡的世界2
		18元2
		
	


这里用到kettel的JS空间:

将Webservice返回的XML进行替换处理:

kettel解析XML难点_第4张图片

kettel解析XML难点_第5张图片


三、kettel自动解析的XML路径不对



0

 
  
   20160514173313
   3037
   20160514173313
   3037
   首次病程记录
   
  
 


上面的XML是我调好的,之前格式很乱,没有换行什么的

kettel解析就是这样:

kettel解析XML难点_第6张图片 

只能到DescRiption节点。

手工改一下XML路径:

kettel解析XML难点_第7张图片

直接获取字段:

kettel解析XML难点_第8张图片

这是后XML解析就可以了。可以试着预览一下数据。






你可能感兴趣的:(kettel解析XML难点)