解析和转换之间的区别?

Difference between parsing and transformation?

我想知道数据解析转换有什么区别。

例如,如果我需要将数据从 XML 格式转换为 JSON 格式,它是转换还是解析?

从技术上讲,解析是建立文本输入的逻辑结构的过程:例如建立 <a b="3"/> 表示一个名为 a 的元素,其中包含一个名为 b 的属性,其值为 3。

不幸的是,这个术语似乎越来越被误解,没有接受过正式计算机科学培训的程序员经常误用该术语来表示几乎所有已解析数据的处理:我们看到关于 SO 的问题说 "I am writing a parser",而实际上他们正在编写一个使用解析器输出的应用程序。

将 XML 转换为 JSON 是一个三阶段过程:解析 XML,将生成的数据结构转换为不同的数据结构,然后序列化转换后的数据结构进入 JSON 语法。

转换是从一种形式到另一种形式的映射。

  • XSLT 转换 从 XML 映射到 JSON、HTML、(不同)XML 等

解析是对序列形式的分析,以识别结构部分。

  • XML解析器读取XML并识别其元素、属性和其他部分。

数据转换基本上是一个转换。但请注意,转换通常会利用输入表单 解析 期间识别的结构来创建输出表单。