Where to return result of recursive function

hajimal

I know this is a stupid problem, but I can't solve it for hours.

I have recursive function which takes JSON object and creates XML string:

function JSONtoXML(object, xml) {
    var name = '';
    for (var prop in object) {
        if (object.hasOwnProperty(prop)) {
            if (typeof object[prop] === 'object'){
                JSONtoXML(object[prop], xml);
            }
            else {
                if (prop === 'name') {
                    name = object[prop];
                    xml += '<' + name;
                }
                else if (prop === 'version') {
                    xml += ' version="' + object[prop] + '">\n<params>\n';
                }
                else if (prop === 'value') {
                    xml += '>' + object[prop] + '</' + name + '>';
                }
                else {
                    xml += ' ' + prop + '="' + object[prop] + '"';
                }
            }
        }
    }
};

I would like if I could just return the XML string when the function finishes, but I have no clue where to write the return xml; part. Anywhere I put it, it returns only part of the string.

aleha

remove xml as parametr

function JSONtoXML(object) {
    var name = '';
    var xml = '';
    for (var prop in object) {
        if (object.hasOwnProperty(prop)) {
            if (typeof object[prop] === 'object'){
                xml += JSONtoXML(object[prop]);
            }
            else {
                if (prop === 'name') {
                    name = object[prop];
                    xml += '<' + name;
                }
                else if (prop === 'version') {
                    xml += ' version="' + object[prop] + '">\n<params>\n';
                }
                else if (prop === 'value') {
                    xml += '>' + object[prop] + '</' + name + '>';
                }
                else {
                    xml += ' ' + prop + '="' + object[prop] + '"';
                }
            }
        }
    }

    return xml;
};

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Return result disappears in Python recursive function

From Dev

recursive function will not return as expected

From Dev

Return result to parent function

From Dev

Return result of Action to Function

From Dev

Return mongoose result in a function

From Dev

wrapAsync return function not result

From Dev

php recursive function return array

From Dev

Return type deduction in recursive function

From Dev

Make Recursive Function Return a Tuple

From Dev

Return value of recursive function is 'undefined'

From Dev

adding return case to recursive function

From Dev

Return values in recursive function in java

From Dev

Recursive Function Missing Return Statement

From Dev

Recursive function return null value

From Dev

Return dictionary from recursive function

From Dev

How to return an ArrayList with an recursive function

From Dev

When to use return in recursive function?

From Dev

How to return an ArrayList with an recursive function

From Dev

recursive function lisp return list

From Dev

php recursive function return array

From Dev

Recursive Fortran function return array?

From Dev

Recursive function doesn't return

From Dev

Recursive function does not return array

From Dev

Recursive function return type error

From Dev

Recursive Bool Function "skipping" return

From Dev

Recursive function in postgres based on query result

From Dev

Jquery recursive function providing wrong result

From Dev

Recursive function Javascript concat array result - ImageJ

From Dev

Return stored procedure result in function