【问题标题】:XML parsing using jQuery and append in HTML table使用 jQuery 解析 XML 并附加到 HTML 表中
【发布时间】:2013-08-04 12:45:45
【问题描述】:
<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(){});

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

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

【问题讨论】:

  • 所以你想要两个一组的单元格?比如1&2,然后3&4等等?

标签: javascript jquery xml xml-parsing


【解决方案1】:

解决方案&代码(代码cmets中的解释)

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

【讨论】:

  • 我只需要第一行的单元格的值。而不是他们的子行单元格。
  • 所以基本上你需要访问第一行? id=1的行?
  • 我需要第一行的单元格,但不需要它们的子行,例如 (id 2,3,4)。
  • @Saravanan 检查我的答案,这就是你想要的
  • 我们不知道有多少单元格。它是动态创建的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-09
  • 2012-03-05
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
相关资源
最近更新 更多