1
mapping read_config(string cfg_data, string rtag)
3
if ( !stringp(cfg_data) || strlen(cfg_data) == 0 )
6
Parser.XML.Tree.Node node = Parser.XML.Tree.parse_input(cfg_data);
9
error("Failed to parse data.");
13
node = node->get_first_element(rtag);
14
foreach(node->get_elements(), Parser.XML.Tree.Node n) {
15
string t = n->get_tag_name();
16
string val = n->get_last_child()->get_text();
17
if ( stringp(conf[t]) )
18
conf[t] = ({ conf[t], val });
19
else if ( arrayp(conf[t]) )
22
conf[n->get_tag_name()] = val;