Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 如何识别解析为JSON时表示数组的XML节点_Ruby_Json - Fatal编程技术网

Ruby 如何识别解析为JSON时表示数组的XML节点

Ruby 如何识别解析为JSON时表示数组的XML节点,ruby,json,Ruby,Json,为了将XML解析为JSON字符串,我想确定XML标记中的哪些节点集将等同于[I.e.是JSON格式的数组 我认为识别此类节点的最佳方法是找到关闭的节点,然后立即重新打开,如下面的“公司”节点: <Firms> <Firm> <Location /> <ServiceType /> </Firm> <Firm> <Location /> <ServiceType />

为了将XML解析为JSON字符串,我想确定XML标记中的哪些节点集将等同于[I.e.是JSON格式的数组

我认为识别此类节点的最佳方法是找到关闭的节点,然后立即重新打开,如下面的“公司”节点:

 <Firms>
  <Firm>
   <Location />
   <ServiceType />
  </Firm>
  <Firm>
   <Location />
   <ServiceType />
  <Firm>
 <Firms>
我在Nokogiri上使用Ruby 1.9.3


有人知道我可以这样做的好方法吗?或者更好的方法吗?

加载DTD,看看元素是否将属性maxOccurs设置为unbounded。将它们作为数组加载。

不清楚亲爱的..需要更具体一些。在哪里[数据中的内容?您是否有这个XML的DTD,它应该告诉您哪些元素类型是数组。除此之外,如果您的约定是复数且包含单数,您可以使用rails帮助程序将其复数化和单数化,以查看子节点是否与父节点同名。当然,如果这些帮助程序同意,您将任由他们摆布谢谢。这里有一个模式文档,sec在这个链接上提供了一个实时文档。它显示了复杂的类型,但我真的看不出如何从中识别数组,因为它们可能是不同的节点名称。我认为字符串/扫描可能是答案。我可以使用好的旧正则表达式,只需小跑一下,看看goArup hi,谢谢你的回复作为响应,我正计划将[插入到JSON中,在JSON中有一个数组,我很快就会得到一个很好的理由,为什么要将xml转换为JSON,除了打开和关闭映射到JSON中数组的节点。