Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用XML::Mapping XML/Mapping gem for ruby创建嵌套的XML文档_Ruby On Rails_Ruby_Xml_Gem - Fatal编程技术网

Ruby on rails 使用XML::Mapping XML/Mapping gem for ruby创建嵌套的XML文档

Ruby on rails 使用XML::Mapping XML/Mapping gem for ruby创建嵌套的XML文档,ruby-on-rails,ruby,xml,gem,Ruby On Rails,Ruby,Xml,Gem,使用ruby 2、rails 4、gem:xml/mapping 以下是电流输出: class Item include XML::Mapping array_node :picture_details, 'PictureDetails', :class => PictureURL, :default_value => [] end class PictureURL include XML::Mapping include Init

使用ruby 2、rails 4、gem:xml/mapping

以下是电流输出:

class Item
      include XML::Mapping

      array_node :picture_details, 'PictureDetails', :class => PictureURL, :default_value => []
end

class PictureURL
      include XML::Mapping
      include Initializer
      text_node :picture_url, 'PictureURL', :optional => true
end
我得到的输出:

<PictureDetails>
  <PictureURL>VALUE</PictureURL>
</PictureDetails>
<PictureDetails>
  <PictureURL>VALUE</PictureURL>
</PictureDetails>
<PictureDetails>
  <PictureURL>VALUE</PictureURL>
</PictureDetails>

价值
价值
价值
我想要的是:

<PictureDetails>
  <PictureURL>VALUE</PictureURL>
  <PictureURL>VALUE</PictureURL>
  <PictureURL>VALUE</PictureURL>
</PictureDetails>

价值
价值
价值
我查阅了文档,但仍然不知道如何设置它以达到所需的输出

(我是xml映射gem的作者)

根据您的描述,看起来您希望“PictureDetails”是数组节点的基本路径,“PictureURL”是每个数组元素的路径。在每个数组元素中,PictureURL应该只将其picture\u url属性写入元素text,而不创建子元素或-属性,这意味着text\u节点的路径规范应该仅为“.”

因此,这应该是可行的:

class Item
      include XML::Mapping

      array_node :picture_details, 'PictureDetails', 'PictureURL', :class => PictureURL, :default_value => []
end

class PictureURL
      include XML::Mapping
      include Initializer
      text_node :picture_url, '.', :optional => true
end