云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

免备案CDN_鬼吹灯之精绝古城百度云_企业0元试用

小七 141 0

数据库服务器_租用_中国电信物联网

在许多项目中,我遇到的情况是,与通过映射发送单个消息相比,需要采用不同的方法来处理数据。通常需要一个新的JSON/XML数据模型来转换数据,然后再将其发送到接收方系统。这些模式充当中间映射结构,而不是实际的发送方系统数据结构。在这个博客中,云服务器 免费,我将概述一些在这个过程中记住的技巧和窍门。

XSD模式生成

大多数时候,数据分析与大数据,我只是从头开始编写所需的XML数据,然后使用freeformatter之类的工具来生成XSD。通常这些生成的XSD在迭代结构和数据类型上都不是很精确,因此我总是应用以下技巧:

在处理JSON数据时避免在迭代结构中使用序列

在JSON输入数据的情况下不要使用xs:sequence进行迭代结构。JSON对象的排序不像XML那么严格,我喜欢使用xs:choice with maxOccurs="unbounded"来放宽这个要求,同时使字段成为可选的。更多信息可以在这里找到。

保持简单

为了让中间映射结构尽可能多地粘贴到元素上。我通常只对标识符使用属性。另外,我尽可能地保留元素的可选性,特别是在JSON情况下。对于输入,我尝试保持所有内容都基于字符串,云服务器哪里好,如果在映射期间必须应用脚本或其他操作,数据库大数据,则不会出现转换问题。

验证所需数据

如果您有绝对需要可用的数据或具有特定格式的数据,请使用XML验证程序使传入数据无效。我经常基于验证类型或限制枚举上的数据来编写自己的限制集。更多的信息可以在这里找到,我在开发时将此作为参考。

添加一个根节点

如果在处理数据时需要在XML和JSON之间进行转换,建议在您使用的XSD中添加一个根节点。特别是在JSON到XML的转换中,可能会出现问题,因为JSON不需要与XML相反的单个父节点。另外,如果您有一个带有根节点的单一对象XSD,则更容易使对象迭代并保持相同的结构。有关转换可能性的更多信息,请参阅message transformers文档。

水果装运示例

水果装运示例是为了在CPI中对并行处理进行附加测试而创建的。此模式由包含水果托盘的卡车的装运节点组成。使用这一级别的嵌套使我能够在不同的级别上应用选择和过滤,以便获得所需的数据排序。通过使用id属性,安娜尔返利机器人,我可以使用xpath或gpath快速选择特定的节点。

在本例中,我选择让XSD包含序列数据,因为只有少数元素,并且使用的测试用例不需要JSON转换和处理。