javascript:在xml中搜索节点并从该节点获取数组

时间:2015-03-11 15:24:04

标签: javascript xml

我是javascript和webcoding的新手。我有一个简单的任务......人们可以在这上面找到许多线索......但是我无法让它运行......我想我只是没有看到树木。给我太多新东西......

我做了一个Https请求来读取xml文件,如下例所示。它为某些表定义了各种列布局。我想找到给定名称的布局,例如test2,并在其列上循环以创建表... 那就是:

select layout where name = test2; createTable(id, label, width);

的xml:

<?xml version="1.0" encoding="UTF-8" ?>
<root>
    <layout>
        <name>test</name>
        <columns>
            <column>
                <id>col_order1</id>
                <label>ORDER</label>
                <width>100px</width>
            </column>
            <column>
                <id>col_model</id>
                <label>MODEL</label>
                <width>100px</width>
            </column>
        </columns>
    </layout>
    <layout>
        <name>test2</name>
        <columns>
            <column>
                <id>col_order2</id>
                <label>ORDER</label>
                <width>100px</width>
            </column>
            <column>
                <id>col_model</id>
                <label>MODEL</label>
                <width>100px</width>
            </column>
        </columns>
    </layout>   
</root>

有人可以指导我吗? 顺便说一句:如果有人想知道更好的xml结构:请告诉我

1 个答案:

答案 0 :(得分:0)

jQuery.map()可能就是你要找的东西。这为您提供了一个反映您的XML的JSON对象:

var layouts = $("layout", xml).map(function() {
                    return {
                        name : $("name", this).text(),
                        columns : $("columns", this).children().map(function(){
                          return {
                            id : $("id", this).text(),
                            label : $("label", this).text(),
                            width : $("width", this).text()
                          }
                        }).get()
                      }
                }).get();

这为您提供了一个包含所有布局的数组,允许您处理它或查找特定属性。