Hubert Siwkin
Hubert Siwkin

Reputation: 385

Child's child in XML

i have a simple XML file which is loaded on page by a script posted below. It converts from a string to a XML file without any problems, but what complicates everything is the fact, that I can't get to a child's child.

I'd like to know why my code doesn't work and what should I do to get the tag name.

function load_xml() {
    $.ajax({
        type: "GET",
        url: "file.xml",
        dataType: "xml",
        success: function (xmlData) {

            var $first_child = $(xmlData).children()[0];
            var first_name = $first_child.nodeName; // returns a proper name of a node

            var $second_child = $first_child.children()[0]; // doesn't work
            var $second_name = $second_child.nodeName; // returns nothing (don't know why)

        },
        error: function () {
            alert("Could not retrieve XML file.");
        }
    });
}

Upvotes: 3

Views: 88

Answers (1)

Constantinius
Constantinius

Reputation: 35089

In your case $first_child is not a jQuery collection. You need to wrap it with $(). Here is a corrected version.

        var first_child = $(xmlData).children()[0]; // [0] actually returns the first "raw" node
        var first_name = first_child.nodeName;

        var $first_child = $(first_child);
        var second_child = $first_child.children()[0];
        var second_name = second_child.nodeName;

Upvotes: 1

Related Questions