簡體   English   中英

使用jQuery進行XML解析並添加到HTML表中

[英]XML parsing using jQuery and append in HTML table

<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(){});

但它給了我其中包含的整個細胞。 我想在第一行中獲取單元格,但該行是所有單元格的父級。

那么如何將這些單元格分開。

解決方案和代碼(代碼注釋中的說明)

//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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM