斯潘8
斯潘4
在本教程中,我们将解释回顾XML的一些基础知识,并介绍了FME对XML的处理方法。
让我们从考虑一座建筑物开始。
-建筑物有地址和位置细节
-里面有房间
-房间里有墙
这个建筑将如何用XML建模?XML是嵌套的,这使得建筑物之间的等级关系,房间和墙壁易于建模:
XML文件由许多标记组成,用一对尖括号表示。这些标记表示XML元素.
-第一个元素可以包含XML版本和编码等信息。这是可选的,但是,如果存在,它出现在XML文件的开头。
-下一步,是根元素。根是每个XML文件的第一个命名标记,是所有其他元素的容器。在这种情况下,根元素被命名为dataset。
-在数据集中是子元素的分支。这个建筑元素,萨里总部,是数据集的子级。这栋楼又有许多自己的孩子,等等。所以我们看到XML是如何自然地适合描述分层关系的……这个建筑包含房间,其中包含墙壁…
为了支持从一个数据结构到另一个数据结构的转换,FME需要对复杂的数据对象建模。XML中有许多元素类型在GIS中并不常见,因此需要在FME中使用建模约定,以便能够读取和写入数据。FME可以将任何XML元素转换为一个FME特性。
考虑上面描述的构建XML文件。每个XML元素都可以成为一个FME特性。或者,我们只能在大楼里工作,或单独使用房间或墙壁。这完全取决于转换的需求是什么。
下面是几个FME转换XML数据的示例:
上面:读取XML建筑,创建点并写入ESRI形状文件
上图:阅览室和构建XML元素,并写入Excel
功能路径和扁平化帮助您可以将任何XML元素转换为FME功能。功能路径允许您通过在XML结构中定义要从中提取功能的节点来查询XML。扁平化允许您将所选XML元素中的嵌套结构转换为parent.child形式的字段。可以记录父ID,以便建立关联。这种方法取代了使用脚本(xfmaps)或文本处理来读取XML的需要。还有一个树控件可以帮助自动定义特征路径。
注意,FME还为XML处理提供了其他高级选项,允许直接更新XML文档,而不是扁平化或转换为FME特性。这些使用xmlupdater或xquery的替代方法将在高级XML处理教程中讨论。
FME | 数据库 | XML |
特征 | 记录 | 元素 |
属性 | 场 | 元素 |
特质 | 子场 | 属性 |
表 | 逗号分隔字段 | 系列 |
参考文献 | 关系 | 起源 |
XML-可扩展标记语言。通常是.xml文件。
应用程序架构-定义对象结构的XML模式定义可用,可用于验证数据集。通常是.xsd文件。
命名空间-通过将元素前缀与URI引用关联来限定XML文档中使用的元素和属性名的方法。例如prefix:element,其中prefix由xmlns:prefix=定义。”MyurL.com“
根-每个XML文件的第一个命名标记,是所有其他元素的容器
特征路径-匹配表达式,该表达式指定应将数据集中的哪些XML元素提取到功能中。这些匹配表达式也称为“要匹配的元素”。它们可以包含XML元素名称,或从数据集根目录到元素的路径。
起源-保存其他相关元素(子元素)的元素。
简况-分组在一起的一组标准化应用程序模式。
有关XML的更多信息,请参阅以下资源。
维基百科上的XML:
https://en.wikipedia.org/wiki/xml
W3学校上的XML:
http://www.w3schools.com/xml/xml\whatis.asp
维基百科上的GML:
https://en.wikipedia.org/wiki/geography_markup_语言
亚搏在线SAFE关于FME和XML的博客:
?2019安全亚搏在线软件公司|合法的