Method: REXML::Attributes#each_attribute
- Defined in:
- lib/rexml/element.rb
#each_attribute ⇒ Object
:call-seq:
each_attribute {|attr| ... }
Calls the given block with each REXML::Attribute object:
xml_string = " <root xmlns:foo=\"http://foo\" xmlns:bar=\"http://bar\">\n <ele foo:att='1' bar:att='2' att='<'/>\n </root>\n"
d = REXML::Document.new(xml_string)
ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='<'/>
ele.attributes.each_attribute do |attr|
p [attr.class, attr]
end
Output:
[REXML::Attribute, foo:att='1']
[REXML::Attribute, bar:att='2']
[REXML::Attribute, att='<']
2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 |
# File 'lib/rexml/element.rb', line 2243 def each_attribute # :yields: attribute return to_enum(__method__) unless block_given? each_value do |val| if val.kind_of? Attribute yield val else val.each_value { |atr| yield atr } end end end |