使用jQuery在HTML表中显示单独的XML元素

参与

我正在尝试在html表中显示单独的xml元素。以下是我的xml:

<?xml version="1.0" encoding="UTF-8"?>

<channel id="sky_one" source="Sky" date="25/11/2014">
    <programme>
        <desc>Tony's motorcycle bursts into flames between his legs while town planner Liz is left in agony after her half-tonne horse bolts and lands on top of her. Also in HD</desc>
        <title>The Real A &amp; E</title>
        <end>0630</end>
        <start>0600</start>
    </programme>
    <programme>
        <desc>When Justin tries to detach a winch rope from a rock face during a charity event, a loose boulder falls on his pelvis. But with such rocky terrain, the Air Ambulance is unable to land. Also in HD</desc>
        <title>The Real A &amp; E</title>
        <end>0700</end>
        <start>0630</start>
    </programme>
    <programme>
        <desc>Temperatures rise as big boss Ken and legions of angry bakers take to the streets to protest against the 'Pasty Tax', before Greggs faces its biggest-ever crisis. (S1, ep 4) Also in HD</desc>
        <title>Greggs: More Than Meats The Pie</title>
        <end>0800</end>
        <start>0700</start>
    </programme>
    <programme>
        <subtitle>That's Lobstertainment</subtitle>
        <desc>Bender and Zoidberg travel to Hollywood in search of stardom. (S3, ep 8)</desc>
        <title>Futurama</title>
        <end>0830</end>
        <start>0800</start>
    </programme>
    <programme>
        <subtitle>The Birdbot Of Ice-Catraz</subtitle>
        <desc>Leela fights to save the lives of penguins after the Planet Express ship is involved in an oil spill on Pluto. (S3, ep 9)</desc>
        <title>Futurama</title>
        <end>0900</end>
        <start>0830</start>
    </programme>

我正在使用jQuery和$ ajax来检索xml代码。jQuery如下所示:

$(document).ready(function() {
    $.ajax({
        type: "GET",
        url: "https://scm.ulster.ac.uk/~B00533474/workspace/COM554/assignment_2/CR/sky_one.xml",
        dataType: "xml",
        cache: false,
        success: parseXml2
    });
});

function parseXml2(Xml)
{
    $(Xml).find("programme").each(function() {
        $("#titl").append($(this).find("title").text());
    });
}

然后将html作为输出:

                <table style="width:100%">
  <tr>
    <td>The Real A & E</td>
    <td>Greggs: More than meets the pie</td> 
    <td>Futurama</td>
  </tr>
</table>

主要问题是显示的文本是所有标题,而不仅仅是表的一个区域中一个程序的一个标题。任何帮助将非常感激!

彼得·卡

您可以在表中放置唯一标题:

function parseXml2(Xml) {
    var table = $('<table/>'),
        tbody = $('<tbody/>'),
        tr = $('<tr/>'),
        td = $('<td/>'),
        titles = [];
    $(Xml).find("programme").each(function() {
        var title = $(this).find("title").text();
        if( titles.indexOf( title ) === -1 ) {
            tr.append( td.clone().html( title ) );
            titles.push( title );
        }
    });
    $("#titl").append( table.html( tbody.html( tr ) ) );
}

function parseXml2(Xml) {
        var table = $('<table border="1" cellpadding="3" cellspacing="0"/>'),
            tbody = $('<tbody/>'),
            tr = $('<tr/>'),
            td = $('<td/>'),
            titles = [];
        //this part create the table cells
        $(Xml).find("programme").each(function() {
            var title = $(this).find("title").text();
            if( titles.indexOf( title ) === -1 ) {
                tbody.append( tr.clone().html( td.clone().html( title ) ) );
                titles.push( title );
            }
        });
        //this part creates the table and puts the table cells in it and appends the 
        //table to the #titl element
        $("#titl").append( table.html( tbody ) );
    }


//JUST FOR DEMO PURPOSES
var xml = '<?xml version="1.0" encoding="UTF-8"?>\
<channel id="sky_one" source="Sky" date="25/11/2014">\
    <programme>\
        <desc>Tony\'s motorcycle bursts into flames between his legs while town planner Liz is left in agony after her half-tonne horse bolts and lands on top of her. Also in HD</desc>\
        <title>The Real A &amp; E</title>\
        <end>0630</end>\
        <start>0600</start>\
    </programme>\
    <programme>\
        <desc>When Justin tries to detach a winch rope from a rock face during a charity event, a loose boulder falls on his pelvis. But with such rocky terrain, the Air Ambulance is unable to land. Also in HD</desc>\
        <title>The Real A &amp; E</title>\
        <end>0700</end>\
        <start>0630</start>\
    </programme>\
    <programme>\
        <desc>Temperatures rise as big boss Ken and legions of angry bakers take to the streets to protest against the \'Pasty Tax\', before Greggs faces its biggest-ever crisis. (S1, ep 4) Also in HD</desc>\
        <title>Greggs: More Than Meats The Pie</title>\
        <end>0800</end>\
        <start>0700</start>\
    </programme>\
    <programme>\
        <subtitle>That\'s Lobstertainment</subtitle>\
        <desc>Bender and Zoidberg travel to Hollywood in search of stardom. (S3, ep 8)</desc>\
        <title>Futurama</title>\
        <end>0830</end>\
        <start>0800</start>\
    </programme>\
    <programme>\
        <subtitle>The Birdbot Of Ice-Catraz</subtitle>\
        <desc>Leela fights to save the lives of penguins after the Planet Express ship is involved in an oil spill on Pluto. (S3, ep 9)</desc>\
        <title>Futurama</title>\
        <end>0900</end>\
        <start>0830</start>\
    </programme>\
        </channel>',
          xmlDoc = $.parseXML( xml );
parseXml2( xmlDoc );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="titl"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JQuery遍历单独的HTML文件的元素

来自分类Dev

如何使用 JQUERY 在 HTML 中仅显示单击的元素

来自分类Dev

在单独的元素中显示 jquery ui 日期值

来自分类Dev

使用jQuery对不在HTML表中的元素进行排序

来自分类Dev

使用jquery选择html表中输入元素的值

来自分类Dev

如何使用jQuery将数组的每个项目添加到单独的HTML元素中?

来自分类Dev

使用JavaScript / jQuery在HTML表中显示数据

来自分类Dev

XML元素未显示在HTML页面中?

来自分类Dev

加载HTML模板从元素使用jQuery单独的文件

来自分类Dev

如何在jquery中读取xml解析并在html元素中显示

来自分类Dev

使用jQuery从另一个元素(表)替换HTML元素中的文本

来自分类Dev

使用jQuery从另一个元素(表)替换HTML元素中的文本

来自分类Dev

从xml文件中获取数据并使用Ajax和xpath在html表中显示

来自分类Dev

使用jQuery在不同页面中显示元素

来自分类Dev

使用oracle形式的Xpath读取并显示html(xml)文件中的元素

来自分类Dev

使用单独的函数从ajax响应中获取jQuery目标html

来自分类Dev

使用jQuery显示表中的相邻行

来自分类Dev

使用 jquery 从表中显示生成的数据

来自分类Dev

jQuery在表td中显示和隐藏元素

来自分类Dev

样式元素显示在HTML引导表中的行之间

来自分类Dev

样式元素显示在HTML引导表中的行之间

来自分类Dev

在单独的表中显示彼此链接的数据

来自分类Dev

使用jQuery显示和隐藏动态生成的表元素

来自分类Dev

使用jQuery移动(突出显示)HTML表中的最后一行

来自分类Dev

使用jQuery从DOM中删除HTML元素

来自分类Dev

使用jQuery从`div`元素中获取HTML

来自分类Dev

使用jQuery在HTML中添加列表元素

来自分类Dev

在HTML表中显示XML文件数据

来自分类Dev

在HTML表中显示XML文件数据

Related 相关文章

  1. 1

    使用JQuery遍历单独的HTML文件的元素

  2. 2

    如何使用 JQUERY 在 HTML 中仅显示单击的元素

  3. 3

    在单独的元素中显示 jquery ui 日期值

  4. 4

    使用jQuery对不在HTML表中的元素进行排序

  5. 5

    使用jquery选择html表中输入元素的值

  6. 6

    如何使用jQuery将数组的每个项目添加到单独的HTML元素中?

  7. 7

    使用JavaScript / jQuery在HTML表中显示数据

  8. 8

    XML元素未显示在HTML页面中?

  9. 9

    加载HTML模板从元素使用jQuery单独的文件

  10. 10

    如何在jquery中读取xml解析并在html元素中显示

  11. 11

    使用jQuery从另一个元素(表)替换HTML元素中的文本

  12. 12

    使用jQuery从另一个元素(表)替换HTML元素中的文本

  13. 13

    从xml文件中获取数据并使用Ajax和xpath在html表中显示

  14. 14

    使用jQuery在不同页面中显示元素

  15. 15

    使用oracle形式的Xpath读取并显示html(xml)文件中的元素

  16. 16

    使用单独的函数从ajax响应中获取jQuery目标html

  17. 17

    使用jQuery显示表中的相邻行

  18. 18

    使用 jquery 从表中显示生成的数据

  19. 19

    jQuery在表td中显示和隐藏元素

  20. 20

    样式元素显示在HTML引导表中的行之间

  21. 21

    样式元素显示在HTML引导表中的行之间

  22. 22

    在单独的表中显示彼此链接的数据

  23. 23

    使用jQuery显示和隐藏动态生成的表元素

  24. 24

    使用jQuery移动(突出显示)HTML表中的最后一行

  25. 25

    使用jQuery从DOM中删除HTML元素

  26. 26

    使用jQuery从`div`元素中获取HTML

  27. 27

    使用jQuery在HTML中添加列表元素

  28. 28

    在HTML表中显示XML文件数据

  29. 29

    在HTML表中显示XML文件数据

热门标签

归档