2

私はこのXMLの塊を持っています:

<show name="Are We There Yet?">
  <sid>24588</sid>
  <network>TBS</network>
  <title>The Kwandanegaba Children's Fund Episode</title>
  <ep>03x31</ep>
  <link>
    http://www.tvrage.com/shows/id-24588/episodes/1065228407
  </link>
</show>

「まだそこにいますか?」を取得しようとしています。経由。これは事実上、'show' の 'name' 属性です。これを解析する方法を理解するのに苦労しています。

xml.at_css('show').value私の最善の推測でしたが、うまくいきません。

4

2 に答える 2

4

以下を使用できます。

xml.at('//show/@name').text

これは、要素nameから属性を返す XPath 式です。show

于 2012-10-30T20:45:19.693 に答える
3

使用する:

require 'nokogiri'

xml =<<EOT
<show name="Are We There Yet?">
  <sid>24588</sid>
  <network>TBS</network>
  <title>The Kwandanegaba Children's Fund Episode</title>
  <ep>03x31</ep>
  <link>
    http://www.tvrage.com/shows/id-24588/episodes/1065228407
  </link>
</show>
EOT

xml = Nokogiri::XML(xml)
puts xml.at('show')['name']
=> Are We There Yet?

atは CSS または XPath 式のいずれかを受け入れるため、両方に自由に使用できます。式を CSS または XPath としてそれぞれ宣言する必要があることがわかっている場合は、at_cssorを使用します。ノードを返すので、ハッシュのようにノードのパラメータを簡単に参照できます。at_xpathat

于 2012-10-30T15:41:33.050 に答える