QA@IT
«回答へ戻る

回答を投稿

下記コードを実行してみたところ、期待通り動作 (3 回 "24,099" と表示) しました。

require "rexml/document"

# 名前空間 ix を定義するため、適当な要素に入れてます
text = <<-XML
<container xmlns:ix="http://example.com">
  <ix:nonfraction name="tse-ed-t:NetSales" contextref="PriorYearDuration_ConsolidatedMember_ResultMember" unitref="JPY" decimals="-6" scale="6" format="ixt:numdotdecimal">24,099</ix:nonfraction>
</container>
XML

doc = REXML::Document.new(text)
doc.elements.each("//[@name='tse-ed-t:NetSales']"){ |e| p e.get_text }
doc.elements.each("//[@contextref='PriorYearDuration_ConsolidatedMember_ResultMember']"){ |e| p e.get_text }
doc.elements.each("//[@unitref='JPY']"){ |e| p e.get_text }

typo などないか確認してみては。

確認した環境は下記の通りです。

  • Ruby 2.1.0p0
  • OSX 10.9.2
下記コードを実行してみたところ、期待通り動作 (3 回 "24,099" と表示) しました。

```ruby
require "rexml/document"

# 名前空間 ix を定義するため、適当な要素に入れてます
text = <<-XML
<container xmlns:ix="http://example.com">
  <ix:nonfraction name="tse-ed-t:NetSales" contextref="PriorYearDuration_ConsolidatedMember_ResultMember" unitref="JPY" decimals="-6" scale="6" format="ixt:numdotdecimal">24,099</ix:nonfraction>
</container>
XML

doc = REXML::Document.new(text)
doc.elements.each("//[@name='tse-ed-t:NetSales']"){ |e| p e.get_text }
doc.elements.each("//[@contextref='PriorYearDuration_ConsolidatedMember_ResultMember']"){ |e| p e.get_text }
doc.elements.each("//[@unitref='JPY']"){ |e| p e.get_text }
```

typo などないか確認してみては。

確認した環境は下記の通りです。

- Ruby 2.1.0p0
- OSX 10.9.2