Module: MultiXML::Parsers::Rexml Private

Extended by:
MultiXML::Parser, Rexml
Included in:
Rexml
Defined in:
lib/multi_xml/parsers/rexml.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

XML parser using Ruby's built-in REXML library

Constant Summary collapse

ParseError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Exception class raised on REXML parse failure

::REXML::ParseException

Instance Method Summary collapse

Methods included from MultiXML::Parser

parse_error

Instance Method Details

#parse(io, namespaces: :strip) ⇒ Hash

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parse XML from an IO object

Parameters:

  • io (IO)

    IO-like object containing XML

  • namespaces (Symbol) (defaults to: :strip)

    Namespace handling mode

Returns:

  • (Hash)

    Parsed XML as a hash

Raises:

  • (REXML::ParseException)

    if XML is malformed



23
24
25
26
# File 'lib/multi_xml/parsers/rexml.rb', line 23

def parse(io, namespaces: :strip)
  doc = REXML::Document.new(io)
  element_to_hash({}, doc.root, namespaces)
end