我们付出一些成本,时间的或者其他,最终总能收获一些什么。
文章介绍了两种方法用于暴露KML结构化的属性
分步说明
第一部分:转换为XHTML
将官方提供的doc.kml,通过读模块加载,并通过参数选择需要暴露的kml_description属性
在选择要素类型弹框中仅勾选Placemark
使用HTMLToXHTMLConverter转换器,转换HTML文档到有效的XHTML文档中。对参数进行如下设置
第2部分:提取属性信息
将属性表转换为XHTML后,有两种方法从HXTML中提取信息
方法一:XQuery
通过XQueryExractor(XMLXQueryExtractor)转换器,在参数中使用XQuery表达式
declare default element namespace "http://www.w3.org/1999/xhtml";
for $x in /html/body/table/tr/td/table/tr
return fme:set-attribute($x/td[1]/text(),$x/td[2]/text())
可以通过XMLXQueryExtractor转换器暴露所需的多个属性。
方法二:使用XMLFragmenter转换器
1.使用Counter转换器添加功能ID,用于后续的聚合操作。
2.使用XMLFragmenter转换器进行片段化
html/body/table/tr
进行如上图的参数操作,其中,Options选择
3.使用AttributeExposer进行属性暴露
td.table.tr{}.td{}
4.使用ListExploder进行列表暴露
5.使用AttributeCreator写出td的值
6.使用Aggregator转换器进行属性的聚合

7.使用AttributeExposer进行属性暴露
