class method
self.from_xml
Ruby on Rails 5.0.7.2
Since v3.0.20Signature
self.from_xml(xml, disallowed_types = nil)
Returns a Hash containing a collection of pairs when the key is the node name and the value is its content
xml = <<-XML
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<foo type="integer">1</foo>
<bar type="integer">2</bar>
</hash>
XML
hash = Hash.from_xml(xml)
# => {"hash"=>{"foo"=>1, "bar"=>2}}
DisallowedType is raised if the XML contains attributes with type="yaml" or type="symbol". Use Hash.from_trusted_xml to parse this XML.
Custom disallowed_types can also be passed in the form of an array.
xml = <<-XML
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<foo type="integer">1</foo>
<bar type="string">"David"</bar>
</hash>
XML
hash = Hash.from_xml(xml, ['integer'])
# => ActiveSupport::XMLConverter::DisallowedType: Disallowed type attribute: "integer"
Note that passing custom disallowed types will override the default types, which are Symbol and YAML.
Parameters
-
xmlreq -
disallowed_typesopt = nil
Source
# File activesupport/lib/active_support/core_ext/hash/conversions.rb, line 127
def from_xml(xml, disallowed_types = nil)
ActiveSupport::XMLConverter.new(xml, disallowed_types).to_h
end
Defined in activesupport/lib/active_support/core_ext/hash/conversions.rb line 127
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Hash