Method: REXML::Attributes#get_attribute_ns
- Defined in:
- lib/rexml/element.rb
#get_attribute_ns(namespace, name) ⇒ Object
:call-seq:
get_attribute_ns(namespace, name)
Returns the REXML::Attribute object among the attributes that matches the given namespace and name:
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='<'/>
attrs = ele.attributes
attrs.get_attribute_ns('http://foo', 'att') # => foo:att='1'
attrs.get_attribute_ns('http://foo', 'nosuch') # => nil
2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 |
# File 'lib/rexml/element.rb', line 2564 def get_attribute_ns(namespace, name) result = nil each_attribute() { |attribute| if name == attribute.name && namespace == attribute.namespace() && ( !namespace.empty? || !attribute..index(':') ) # foo will match xmlns:foo, but only if foo isn't also an attribute result = attribute if !result or !namespace.empty? or !attribute..index(':') end } result end |