Pol*_*ium 3 ruby ruby-on-rails nokogiri
我正在使用nokogiri获得以下节点:
<Instrument id="161" code="648">
<Parameter key="currency" value="USD"/>
<Parameter key="calendar" value="JAN"/>
</Instrument>
Run Code Online (Sandbox Code Playgroud)
这是一个Nokogiri::XML::NodeSet < Object.
我想得到价值 "USD"
我试过了:
node.search 'Parameter[key=currency]'但我不知道如何检索实际值.
那么,我怎样才能得到"美元"的价值?
谢谢.
由于指向节点很容易,所以您想要的并不完全清楚:
require 'nokogiri'
doc = Nokogiri::XML(<<EOT)
<xml>
<Instrument id="161" code="648">
<Parameter key="currency" value="USD"/>
<Parameter key="calendar" value="JAN"/>
</Instrument>
</xml>
EOT
doc.at('Parameter')['value'] # => "USD"
doc.search('Parameter').first['value'] # => "USD"
Run Code Online (Sandbox Code Playgroud)
at找到第一个匹配的节点,因此['value']检索该节点的value内容.
search找到所有匹配的节点,并first检索检索到的第一个节点,这就是做什么的at.