Hướng dẫn how display xml data in html using jquery? - làm thế nào để hiển thị dữ liệu xml trong html bằng cách sử dụng jquery?

Tôi đang cố gắng hiển thị dữ liệu từ một tệp XML bằng cách sử dụng jQuery và mặc dù tôi có lượng dữ liệu chính xác mà nó đang lặp lại. JS:

    $[function[]{var xml = '  ';

    var xmlDoc = $.parseXML[ xml ]; 

    var $xml = $[xmlDoc];
    var $match = $xml.find["match"];
    var $odds = $match.find["choice"];

    var game = $match.attr['name'],
        odd = $odds.attr['odd'];

    $["#title"].append[game];
    $odds.each[function[]{
        $["#odds" ].append['
  • ' +odd+ '
  • ']; }]; }];

    Bạn có thể thấy điều này ở đây:

    //jsfiddle.net/6XcHW/

    Bất kỳ đề xuất nào cũng rất hữu ích Tôi cũng muốn dữ liệu này [sẽ là tệp XML bên ngoài] được kiểm tra cứ sau 30 giây bằng AJAX.

    hỏi ngày 8 tháng 2 năm 2014 lúc 11:14Feb 8, 2014 at 11:14

    Về câu hỏi đầu tiên của bạn:

    //jsfiddle.net/6XcHW/3/

    $[function[]{
    var xml = '   ';
    
        //Parse the givn XML
    var xmlDoc = $.parseXML[ xml ]; 
    
    var $xml = $[xmlDoc];
        var $match = $xml.find["match"];
        var $odds = $match.find["choice"];
    
    
    
        var game = $match.attr['name'];
    
    
        $["#title"].append[game];
                $odds.each[function[]{
                    odd = $[this].attr['odd'];
    
        $["#odds" ].append['
  • ' +odd+ '
  • ']; }]; }];

    Vì vậy, VAR lẻ được tạo ra 'trên con ruồi', vòng bên trong, và sau đó không có sự lặp lại [trong mã của bạn, chỉ là trận đấu đầu tiên được lặp lại].

    Đã trả lời ngày 8 tháng 2 năm 2014 lúc 11:27Feb 8, 2014 at 11:27

    sinisakesinisakesinisake

    11.1k2 Huy hiệu vàng18 Huy hiệu bạc27 Huy hiệu đồng2 gold badges18 silver badges27 bronze badges

    2

    Vấn đề là bạn có mỗi đối tượng nhưng không phải là giá trị trong thuộc tính, mã sẽ thích điều này

    $odds.each[function[]{
        $["#odds" ].append['
  • ' + $[this].attr['odd'] + '
  • ']; }];

    Hi vọng điêu nay co ich :]

    Đã trả lời ngày 8 tháng 2 năm 2014 lúc 11:30Feb 8, 2014 at 11:30

    Chúng ta đều biết rằng phương thức tải jQuery có thể được sử dụng để đọc tệp XML, nhưng các nhà phát triển thường hỏi làm thế nào để hiển thị tệp XML này lên bảng HTML. Do đó, tôi quyết định viết một hướng dẫn chi tiết sẽ:jQuery Load method can be used to read an XML file, but developers often ask how to display this XML file to a HTML table. Therefore I decided to write a detailed tutorial that will:

    • Tải một tệp XML bằng phương thức tải jQuery.XML file using jQuery Load Method.
    • Hiển thị nó trong một bảng HTML.HTML table.
    • Bảng HTML có hệ thống phân trang.HTML table has pagination system.
    • Do hệ thống phân trang này, dữ liệu XML sẽ được hiển thị theo từng trang.
    • Toàn bộ điều này sẽ được dựa trên Ajax.AJAX.

    XML để đọc với phương thức tải jQuery

    Lưu ý: Phương thức đọc XML mà tôi sẽ sử dụng sẽ hỗ trợ bất kỳ tệp XML nào với bất kỳ định dạng nào.XML file with any format.

    Trong ví dụ này, tôi đang lấy một tệp XML chứa chi tiết 25 sản phẩm.XML file that contains detail of 25 products.

    Tệp XML này được đưa ra dưới đây:XML file is given below:

    
      
        77
        Original Frankfurter grüne Soße
        12
        2
        12 boxes
        13.0000
        32
        0
        15
        false
      
      
        76
        Lakkalikööri
        23
        1
        500 ml
        18.0000
        57
        0
        20
        false
      
      
        75
        Rhönbräu Klosterbier
        12
        1
        24 - 0.5 l bottles
        7.7500
        125
        0
        25
        false
      
      
        74
        Longlife Tofu
        4
        7
        5 kg pkg.
        10.0000
        4
        20
        5
        false
      
      
        73
        Röd Kaviar
        17
        8
        24 - 150 g jars
        15.0000
        101
        0
        5
        false
      
      
        72
        Mozzarella di Giovanni
        14
        4
        24 - 200 g pkgs.
        34.8000
        14
        0
        0
        false
      
      
        71
        Flotemysost
        15
        4
        10 - 500 g pkgs.
        21.5000
        26
        0
        0
        false
      
      
        70
        Outback Lager
        7
        1
        24 - 355 ml bottles
        15.0000
        15
        10
        30
        false
      
      
        69
        Gudbrandsdalsost
        15
        4
        10 kg pkg.
        36.0000
        26
        0
        15
        false
      
      
        68
        Scottish Longbreads
        8
        3
        10 boxes x 8 pieces
        12.5000
        6
        10
        15
        false
      
      
        67
        Laughing Lumberjack Lager
        16
        1
        24 - 12 oz bottles
        14.0000
        52
        0
        10
        false
      
      
        66
        Louisiana Hot Spiced Okra
        2
        2
        24 - 8 oz jars
        17.0000
        4
        100
        20
        false
      
      
        65
        Louisiana Fiery Hot Pepper Sauce
        2
        2
        32 - 8 oz bottles
        21.0500
        76
        0
        0
        false
      
      
        64
        Wimmers gute Semmelknödel
        12
        5
        20 bags x 4 pieces
        33.2500
        22
        80
        30
        false
      
      
        63
        Vegie-spread
        7
        2
        15 - 625 g jars
        43.9000
        24
        0
        5
        false
      
      
        62
        Tarte au sucre
        29
        3
        48 pies
        49.3000
        17
        0
        0
        false
      
      
        61
        Sirop d'érable
        29
        2
        24 - 500 ml bottles
        28.5000
        113
        0
        25
        false
      
      
        60
        Camembert Pierrot
        28
        4
        15 - 300 g rounds
        34.0000
        19
        0
        0
        false
      
      
        59
        Raclette Courdavault
        28
        4
        5 kg pkg.
        55.0000
        79
        0
        0
        false
      
      
        58
        Escargots de Bourgogne
        27
        8
        24 pieces
        13.2500
        62
        0
        20
        false
      
      
        57
        Ravioli Angelo
        26
        5
        24 - 250 g pkgs.
        19.5000
        36
        0
        20
        false
      
      
        56
        Gnocchi di nonna Alice
        26
        5
        24 - 250 g pkgs.
        38.0000
        21
        10
        30
        false
      
      
        55
        Pâté chinois
        25
        6
        24 boxes x 2 pies
        24.0000
        115
        0
        20
        false
      
      
        54
        Tourtière
        25
        6
        16 pies
        7.4500
        21
        0
        10
        false
      
      
        53
        Perth Pasties
        24
        6
        48 pieces
        32.8000
        0
        0
        0
        true
      
      
        77
      
    
    

    Tôi cũng sẽ đề nghị bạn xem xét hướng dẫn tải jquery để hiểu nó cú pháp và triển khai.jQuery Load tutorial to understand it’s syntax and implementation.

    Bây giờ chúng ta bắt đầu xây dựng các mã.

    Trang HTML

    Ở đây tôi sẽ đọc tệp XML từ trang HTML bằng phương thức jQuery .load [].XML file from the HTML page using jQuery .load[] method.

    Bạn có thể sử dụng bất kỳ trang web nào cho vấn đề [.aspx, .cshtml, .php, v.v.]..aspx, .cshtml, .php, etc].

    Thêm các điều khiển sau trong trang của bạn:

    Try
    

    • Khi nhấp vào LOADBUTTON, tệp XML sẽ được đọc và hiển thị bên trong tempdiv.loadButton click, the XML file will be read and shown inside the tempDiv.
    • Sau đó, tôi sẽ chuyển đổi nội dung của TEMPDIV thành bảng HTML và hiển thị nó bên trong resultdiv.tempDiv to HTML Table and shown it inside the resultDiv.
    • PagingDiv sẽ chứa các liên kết trang để điều hướng từ trang này sang trang khác.pagingDiv will contain the page links for navigation from one page to another.
    • LoadingIMG sẽ hiển thị hình ảnh tải trong cuộc gọi AJAX.loadingImg will show a loading image during AJAX call.

    Cũng thêm các CSS sau vào trang của bạn

        #loadingImg {
            display: none;
            position: absolute;
            margin: auto;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }
     
        table {
            background-color: purple;
        }
     
            table tr th {
                background-color: #CCC;
                text-transform: capitalize;
            }
     
        #resultDiv {
            overflow: auto;
        }
     
        #pagingDiv {
            padding: 15px 0;
        }
     
            #pagingDiv .myDisableClass {
                background-color: #4CAF50;
            }
     
            #pagingDiv .myClass {
                background-color: #ebbebe;
            }
     
            #pagingDiv a, #pagingDiv span {
                display: inline-block;
                padding: 0px 9px;
                margin-right: 4px;
                border-radius: 3px;
                border: solid 1px #c0c0c0;
                background: #e9e9e9;
                box-shadow: inset 0px 1px 0px rgba[255,255,255, .8], 0px 1px 3px rgba[0,0,0, .1];
                font-size: .875em;
                font-weight: bold;
                text-decoration: none;
                color: #717171;
                text-shadow: 0px 1px 0px rgba[255,255,255, 1];
            }
     
                #pagingDiv a:hover {
                    cursor: pointer;
                    background: #fefefe;
                    background: -webkit-gradient[linear, 0% 0%, 0% 100%, from[#FEFEFE], to[#f0f0f0]];
                    background: -moz-linear-gradient[0% 0% 270deg,#FEFEFE, #f0f0f0];
                }
     
                #pagingDiv a.active {
                    border: none;
                    background: #616161;
                    box-shadow: inset 0px 0px 8px rgba[0,0,0, .5], 0px 1px 0px rgba[255,255,255, .8];
                    color: #f0f0f0;
                    text-shadow: 0px 0px 3px rgba[0,0,0, .5];
                }
     
            #pagingDiv span {
                color: #f0f0f0;
                background: #616161;
            }
    
    

    Mã jQuery

    Bây giờ chuyển sang mã jQuery nơi việc đọc và chuyển đổi sẽ diễn ra. Vì vậy, trong trang của bạn, thêm các dòng mã sau:jQuery code where the reading and converting will take place. So in your page add the following lines of code:

    
        $[document].ready[function [] {
            $["#reset"].click[function [e] {
                location.reload[];
            }];
     
            $["#loadButton"].click[function [e] {
                $["#tempDiv"].load["products.xml", function [response, status, xhr] {
                    if [status != "error"] {
                        /*Hiding the loading image*/
                        $["#loadingImg"].hide[];
                        /*End*/
     
                        DisplayXML[1];
                    }
                }];
     
                /*Showing the loading image*/
                $["#loadingImg"].show[];
                /*End*/
     
            }];
     
            function DisplayXML[pageNo] {
                var xmlDoc = $.parseXML[$["#tempDiv"].html[]];
                var xml = $[xmlDoc];
                var nodeName = xml.find["*"].eq[1][0].nodeName;
                var nodes = xml.find[nodeName];
     
                var pageSize = 5;
                totalRecords = nodes.length;
     
                /*Table Header*/
                var table = $[""];
                var tr = $[""];
                $.each[$[nodes[0]].find["*"], function [index, value] {
                    var th = $[""];
                    th.append[value.nodeName];
                    tr.append[th];
                }];
                table.append[tr];
                /*End*/
     
                /*Table Data*/
                for [i = [pageNo - 1] * pageSize; i < [pageNo * pageSize] ; i++] {
                    var tr = $[""];
                    var child = $[nodes[i]].find["*"];
     
                    $.each[child, function [index, value] {
                        var td = $["
    "]; td.append[$[value].text[]]; tr.append[td]; }]; table.append[tr]; } /*End*/ $["#resultDiv"].html[table]; /*Paging*/ var result = Paging[pageNo, 5, totalRecords, "myClass", "myDisableClass"]; $["#pagingDiv"].html[result] /*Paging*/ } $["#pagingDiv"].on["click", "a", function [] { DisplayXML[$[this].attr["pn"]]; }]; function Paging[PageNumber, PageSize, TotalRecords, ClassName, DisableClassName] { var ReturnValue = ""; var TotalPages = Math.ceil[TotalRecords / PageSize]; if [+PageNumber > 1] { if [+PageNumber == 2] ReturnValue = ReturnValue + "Previous   "; else { ReturnValue = ReturnValue + "Previous   "; } } else ReturnValue = ReturnValue + "Previous   "; if [[+PageNumber - 3] > 1] ReturnValue = ReturnValue + "1 ..... | "; for [var i = +PageNumber - 3; i = 1] { if [+PageNumber != i] { ReturnValue = ReturnValue + "" + i + " | "; } else { ReturnValue = ReturnValue + "" + i + " | "; } } for [var i = +PageNumber + 1; i

    Bài Viết Liên Quan

    Chủ Đề