我正在使用 ActiveResource 来解析以下 XML:
<deploymentNotifications>
<platformTest>Todd</platformTest>
<domainTest xsi:nil="true"/>
<systemTest xsi:nil="true"/>
<production xsi:nil="true"/>
</deploymentNotifications>
的输出@deploymentNotifications.platformTest
正是我所期望的;即,“托德”。但是,三个 nil 元素的输出如下所示:
"domainTest"=>
#<Application::DeploymentNotifications::DomainTest:0x007f7f8df7a198
@attributes={
"xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance",
"xsi:nil"=>"true"},
@prefix_options={},
@persisted=false>
我猜 ActiveResource 不会xsi:nil
以任何方式被视为特殊,但我不确定。理想情况下,我想最终得到的(无论是直接使用 ActiveResource 还是通过 ActiveResource 和后处理的组合)是将 nil 输入元素携带到 nil Ruby 对象的映射:
#<Application::DeploymentNotifications:0x007f7f8ec6a290
@attributes={
"platformTest"=>"Todd",
"domainTest"=>nil,
"systemTest"=>nil,
"production"=>nil},
@prefix_options={},
@persisted=false>
类似的东西。做这个的最好方式是什么?
我对 Ruby 完全陌生,所以如果我需要大修课程,一定要告诉我。