diff options
author | Arun Agrawal <arun@fromjaipur.com> | 2011-05-27 00:47:57 +0530 |
---|---|---|
committer | Arun Agrawal <arun@fromjaipur.com> | 2011-05-27 00:47:57 +0530 |
commit | d16466388eb483dce5d3c559b47254c3b641d668 (patch) | |
tree | 9018f1b00c0912c58fb6421f22bf8a2fd43d90dc /activesupport/lib | |
parent | d341d166774dba12508abbfb848bcde49d3cdf07 (diff) | |
download | rails-d16466388eb483dce5d3c559b47254c3b641d668.tar.gz rails-d16466388eb483dce5d3c559b47254c3b641d668.tar.bz2 rails-d16466388eb483dce5d3c559b47254c3b641d668.zip |
Adding __content__ into XmlMini_JDOM
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/xml_mini/jdom.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/xml_mini/jdom.rb b/activesupport/lib/active_support/xml_mini/jdom.rb index 7aefabfdd1..6c222b83ba 100644 --- a/activesupport/lib/active_support/xml_mini/jdom.rb +++ b/activesupport/lib/active_support/xml_mini/jdom.rb @@ -41,7 +41,7 @@ module ActiveSupport xml_string_reader = StringReader.new(data) xml_input_source = InputSource.new(xml_string_reader) doc = @dbf.new_document_builder.parse(xml_input_source) - merge_element!({}, doc.document_element) + merge_element!({CONTENT_KEY => ''}, doc.document_element) end end @@ -54,9 +54,14 @@ module ActiveSupport # element:: # XML element to merge into hash def merge_element!(hash, element) + delete_empty(hash) merge!(hash, element.tag_name, collapse(element)) end + def delete_empty(hash) + hash.delete(CONTENT_KEY) if hash[CONTENT_KEY] == '' + end + # Actually converts an XML document element into a data structure. # # element:: @@ -84,6 +89,7 @@ module ActiveSupport # element:: # XML element whose texts are to me merged into the hash def merge_texts!(hash, element) + delete_empty(hash) text_children = texts(element) if text_children.join.empty? hash @@ -128,6 +134,7 @@ module ActiveSupport attribute_hash = {} attributes = element.attributes for i in 0...attributes.length + attribute_hash[CONTENT_KEY] ||= '' attribute_hash[attributes.item(i).name] = attributes.item(i).value end attribute_hash |