【发布时间】:2015-11-03 00:44:33
【问题描述】:
我正在尝试用 Grape 来实现这一目标。我需要发送相对复杂的 XML 主体,包括元素属性,如本示例所示:
<Travelers>
<Traveler>
<AnonymousTraveler>
<PTC Quantity="1">ADT</PTC>
</AnonymousTraveler>
</Traveler>
</Travelers>
在将 XML 转换为 JSON(这里只是为 ruby)时,我正在尝试按照流行的约定定义嵌套参数,如下所示:
optional :Travelers, type: Array do
requires :Traveler, type: Hash do
optional :AnonymousTraveler, type: Hash do
requires :PTC, type: Hash do
requires :_Quantity, type: Integer
requires :__text, type: String
end
end
end
end
但显然 XML 解析器没有遵循这种基于下划线的约定并抛出错误消息:
[Travelers][Traveler][AnonymousTraveler][PTC][_Quantity] is missing
[Travelers][Traveler][AnonymousTraveler][PTC][__text] is missing
关于如何拦截 XML 正文参数解析器并包含此约定逻辑的任何线索?
【问题讨论】: