Javascript - 在嵌套的XML节点中获取元素(父/子)

时间:2016-08-06 10:06:02

标签: javascript xml loops nested

我有一个XML如下:

<xml>
    <grandparent>
        <parent>
            <father>A</father>
            <mother>B</mother>
            <children>
                <name>C</name>
                <name>D</name>
            </children>
        </parent>
        <parent>
            <father>E</father>
            <mother>F</mother>
            <children>
                <name>G</name>
                <name>H</name>
                <name>I</name>
            </children>
        </parent>
        <parent>
            <father>J</father>
            <mother>K</mother>
            <children>
                <name>L</name>
            </children>
        </parent>
    </grandparent>
</xml>

如何循环使用此XML并检索父名称和子名称。

我必须得到以下结果: 第1行:A,B,C,D

第2行:E,F,G,H,I

第3行:J,K,L

请帮忙。 感谢。

1 个答案:

答案 0 :(得分:0)

解决方案如下:

//get parent list
var parent_list = rsp.response.getElementsByTagName("parent");

for (i = 0; i  < parent_list.length; i++) {
    //output father and mother
    alert(parent_list[i].getElementsByTagName("father")[0].childNodes[0].nodeValue);
    alert(parent_list[i].getElementsByTagName("mother")[0].childNodes[0].nodeValue);

    //get children list
    var children_list = parent_list[i].getElementsByTagName("children");

    for (j = 0; j < children_list.length; j++) {
        //output children name
        alert(children_list[j].getElementsByTagName("name")[0].childNodes[0].nodeValue);
    }

}