0

我正在努力让我们的网络服务使用 ajax 以尝试加速某些页面。下面是一个我正在工作的示例,但我想让它更容易在具有不同 Web 服务的多个页面中使用。有没有办法在不知道节点名称的情况下解析 XML?因此,在下面的示例中,我执行 $(this).find('ID').text(),但我想要做的只是找到第一个节点并动态获取其名称,然后能够创建我的带有名称的标题行和带有值的值行。我也想在不知道有多少列和/或行的情况下这样做。

            $.ajax({
            url: 'http://localhost:51558/Service1.asmx/GetData',
            type: 'GET',
            dataType: 'xml',
            success: function (xml) {
                var tbl = '<table border="1"><tr><th>ID</th><th>StartDate</th><th>EndDate</th><th>Title</th></tr>';
                $(xml).find('SiteMessages ').each(function () {
                    tbl += '<tr><td>' + $(this).find('ID').text() + '</td>';
                    tbl += '<td>' + $(this).find('StartDate').text() + '</td>';
                    tbl += '<td>' + $(this).find('EndDate').text() + '</td>';
                    tbl += '<td>' + $(this).find('Title').text() + '</td></tr>';
                });
                $('#datagrid').html(tbl + '</table>');
                alert('success');
            }
        });

*编辑: *我查看了 jquery.parseXML,但我找不到任何不使用类似 $title = $xml.find("title"); 的示例

4

2 回答 2

0

我建议您使用 JSON 并为每个响应发送一个模式数组

{"columns":["ID","StartDate","EndDate","Title"],
  "data" :[ [1, "12/12/2012", "1/1/2013","Manager"]]
}
于 2013-02-14T02:29:39.347 回答
0

您可以使用 XML DOM 在节点中导航。请参阅http://www.w3schools.com/dom/dom_node.asp

于 2013-02-14T02:20:14.843 回答