简体   繁体   English

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

[英]Javascript - Get elements (parents/children) in nested XML nodes

I have a XML as follows: 我有一个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>

How do I loop in this XML and retrieves and parent names and the children names. 如何在此XML中循环并检索父名称和子名称。

I must get the following result: Row 1: A, B, C, D 我必须得到以下结果:第1行:A,B,C,D

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

Row 3: J, K, L 第3行:J,K,L

Please help. 请帮忙。 Thanks. 谢谢。

The solutions is as follows: 解决方案如下:

//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);
    }

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM