2014-12-12 67 views
0

我的XML解析的样子:XML液体

<examplexml> 
    <nest1> 
     <nest2> 
      <nest3> 
       <mean>5</mean> 
       <stdeviation>0.1</stdeviation> 
      </nest3> 
     </nest2> 
    </nest1> 
    <nest1> 
     <nest2> 
      <nest3> 
       <mean>7</mean> 
       <stdeviation>0.2</stdeviation> 
      </nest3> 
     </nest2> 
    </nest1> 
</examplexml> 

我卡在这个项目中使用的液体,我想解析这个XML。我可以通过做

{{ file.parse.examplexml.nest1.nest2.nest3.mean }} 

得到平均一次,但我想所有的手段,所以我想我可以做

{% for nest1 in file.parse.examplexml.nest1 %} 
    {{ nest1.nest2.nest3.mean }} 
{% endfor %} 

但这打印出什么。但是,如果我做

{% for nest1 in file.parse.examplexml.nest1 %} 
    {{ nest1 }} 
{% endfor %} 

我得到了nest2。所以我认为我可以通过nest2和nest3属性来访问平均值,但它似乎并不像这样工作。有没有办法在Liquid中做到这一点?谢谢。

回答

1

不可以。您无法使用Liquid解析XML。这样做就像试图在洗碗肥皂上运行你的车。您可能会首先遇到溅射,让您认为它会走,但最终,您的车会坐在停车场,直到您清理气体管道并添加气体。

解析XML适用于Nokogiri。无论谁卡住Liquid,都应该坚持使用Nokogiri,这是正确的工具。