Search code examples
rubyrexml

Get node name with REXML


I have an XML, which can be like

<?xml version="1.0" encoding="utf-8"?>
<testnode type="1">123</testnode>

or like

<?xml version="1.0" encoding="utf-8"?>
<othernode attrib="true">other value</othernode>

or the root node can be something completely unexpected. (Theoretically anything.) I'm using REXML to parse it. How can I find out what XML node is the root element?


Solution

  • xml = REXML::Document.new "<?xml version" #etc (or load from file)
    root_node = xml.elements[1]
    root_node_name = root_node.name