数据格式被设计为机器可读(结构化以使计算机可以对其进行处理)或人类可读(人类容易理解)。据称,某些格式,例如XML和JSON。让我们称这些Ambivert格式。这意味着,当您,一个人打开文件时,您可以阅读内部的内容 - 但是数据仍然是构造的,因此针对机器处理进行了优化。

机器与人类可读数据

左:机器可读数据(SQLite)。中间:人类可读数据(PDF)。右:据称是(XML)。

XML,JSON和GML之类的Ambivert格式是网络,移动和REST API的语言。该语法是如此强大和通用,以至于它已成为数百种格式的基础,从桌面工具到通过Web的数据交换。

Ambivert格式的问题

仅仅因为格式被归类为“可读”并不意味着可以理解。是的,我可以阅读此JSON片段:

{“名称”:“电动汽车充电站”,“类型”:“特征汇票”,“ CRS”:{
“ type”:“名称”,“属性”:{“名称”:“ EPSG:26910”}},“特征”:[{“ type”:“ feature”
,“几何”:{“类型”:“点”,“坐标”:[492699.273158735,5452194.867862]}
,“属性”:{“ lot_operator”:“温哥华市”,“地址”:“ 6810 Main Street”}}}

…但这不是完全可以理解的。如果它确实是可读的,那么数据看起来就是这样:

该文件包含32点代表电动汽车充电站
在温哥华。第一个站位于纬度49.22249551,经度
-123.1002624,由温哥华市经营,地址为
6810 Main Street。第二 …

我们如何快速,轻松地了解针对机器优化的数据?除此之外,我们如何以高级方式与之合作?通常,我们需要使用XML将高度结构化的数据与最初不打算的其他应用程序交换。

使用XML他们说这会很有趣

了解任何基于XML的数据

关键是要在可能的地方利用自动化。换句话说,在尝试从中收集有用的信息之前,请获取一台计算机来解析数据。

RAW XML与FME解析

左:RAW XML。右:解析FME并显示为地图和属性信息列表。

自动化困难的部分 - 解释语法 - 可以使您像其他任何数据类型一样可以使用属性。这里有一些自动化,可以更容易理解这些格式。These are new features we added in FME 2016, with the goal that users shouldn’t need to know anything about XML, GML, or JSON to read these data sources (or to write to them, or modify, map, template, update, validate, or any其他转换)。

使用XML层次结构

了解XML始于以直接的方式介绍数据的层次结构。在FME中,树导航接口使您可以选择要成为功能类型(或图层或功能类)的XML节点。然后这些字段是自动生成的。使用工作流程中的数据变得简单 - 例如,从la亚搏在线t/long中创建几何形状,然后搜索数据点。

WorkBench2016-XMlelementSelectNew

与Nested Json合作

JSON没有XML的模式复杂性,但可以高度嵌套。这通常意味着计算括号和括号,并试图编写复杂的JSON查询。解决方案:自动将JSON变成功能,并将公共形式分解为属性。我们引入了自动模式扫描为此,FME的JSON阅读器的模式。从那里,您可以在人类友好的界面中使用功能和属性。(就像XML层次结构一样,我们还计划在下一个FME版本中添加树导航UI。)

使用示意性GML/WFS

通常,您的GML模式在一个单独的.xsd文件中,并且该文档丢失了。怎么办?当您不需要知道GML模式时,请不要担心。我们添加了一个忽略模式FME的模式,因此您几乎可以阅读任何GML。尽管仍然需要架构来编写和验证GML,但如果确切的模式并不关键(例如,从GML到GIS),能够忽略它是有帮助的。

*

故事的寓意:让您的计算机努力工作并为您解释XML/JSON语法。一旦能够了解基于XML的数据集中的情况,就可以在数据集成和自动化方案中更好地使用它。你甚至可以构建自己的网络服务

如果您想了解有关与XML,GML和JSON合作的更多信息,我们有很多资源:

XML问题?向我们发送一张笔记xml@亚搏在线safe.com。我们的联合创始人唐·默里(Don Murray)(XML的#1粉丝)阅读了这些电子邮件,并将回到您身边。

关于数据 自动化 GML JSON XML

蒂亚娜·华纳(Tiana Warner)

Tiana是安全软件的高级营销专家。亚搏在线她在计算机编程和创造性爱好方面的背景使她成为安全软件创意内容的主要生产商之一。亚搏在线蒂亚娜(Tiana)花时间写幻想小说,骑马,并用救援幼犬乔伊(Joey)探索大自然。

评论

2对“理解XML:人类可读数据指南”的回应

  1. SörenDupke 说:

    不错的文章,带有许多有用的链接!
    几天前,我发现忽略功能模式,我发现它确实很有用。如果DescideFeature请求链接被打破,那么WFS阅读器也非常方便。改进的一个想法是,在GML/WFS读取器参数的GML特征零件参数的参数上也将树导航。[https://knowledge.亚搏在线safe.com/content/idea/31053/use-tree-navigation-for-gml-for-gml-feature-parts-for-for-read.html]

    亲切的问候,
    索伦

  2. 我喜欢XML,这篇博客文章给我带来了欢乐的眼泪。

发表评论

相关文章