1
<rows>
<row id='1'>    // parent
<cell>1</cell>
<cell>Task ABC0134</cell>

<row id="2"> // parent
<cell>1</cell>
<cell>Task ABC0134</cell>
</row>

<row id="3"> // parent
<cell>1</cell>
<cell>Task ABC0135</cell>
</row>

<row id="4"> // parent
<cell>1</cell>
<cell>Task ABC0136</cell>
</row>
</row>

我想解析上面的 XML 文件并将其附加到 HTML 表中。

我找到了一些代码来解析它

$(this).find('cell').each(function(){});

但它给了我它包含的整个细胞。我想取第一行中的单元格。但该行是所有单元格的父级。

那么如何将这些细胞分开。

4

1 回答 1

0

解决方案和代码(代码注释中的解释)

//xml init
var xml = "<rows><row id='1'><cell>1</cell><cell>Task ABC0134</cell><row id='2'><cell>1</cell><cell>Task ABC0134</cell></row><row id='3'> <cell>1</cell><cell>Task ABC0135</cell></row><row id='4'><cell>1</cell><cell>Task ABC0136</cell></row></row>"

//get the first row's id - used for comparison later
var firstRowId = $(xml).find("row:first").attr("id");
//create "tr" string - for appending to table later
var tr = "<tr>";
//iterate over each <cell>
var cells = $(xml).find("cell").each(function (i) {
    //check if current cell's parent (<row>) 's id matches firstRowId
    if ($(this).parent("row").attr("id") === firstRowId) {
        //if yes go in, create <td>
        tr += "<td>" + $(this).text() + "</td>";
    }
});
//finish the string
tr += "</tr>";
//apend to table
$("table").append(tr);

演示:http: //jsfiddle.net/hungerpain/Uf95P/

于 2013-08-03T07:59:59.013 回答