Load xml file content into div using jquery

前端 未结 5 2171
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-05 16:50

How to load the xml file content to a div.

Here is my HTML in which I need to load XML content

相关标签:
5条回答
  • 2020-12-05 16:53

    Try this:

    var xml='<contentprogramming><category name = "My t" id = "1"><logo>http://123.png</logo><channel name="res" id= "1" type="ecommerce"><logo>http://11.png</logo> <items><item id="1"><image>http://11.jpg</image><title>Memory Card MSMT2G</title><details>$6.99</details><linkurl>http://www.test.com/Sony</linkurl></item><item id="2"><image>http://i2.jpg</image><title>Apple iPad </title><details>$579.95</details><linkurl>http://www.test.com/Apple</linkurl></item> </items></channel></category></contentprogramming>';
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $xml.find( "category[name='My t'] logo" ).each(function () {
        $("#news-container").append($(this).text() + "<br />");
    }
    
    0 讨论(0)
  • 2020-12-05 17:10

    -- you must call xml file first

        $.ajax({
           url: '/something.xml',
           type: "GET",
           dataType: "xml",
           success: function (result) {
                $(result).find('name').each(function () {
                    $("#news-container").append($(this).text() + "<br />");
                 }
               }
           });
    
    0 讨论(0)
  • 2020-12-05 17:13

    You need to escape HTML special chars. Use this function before setting text into div.

    function htmlSpecialChars(unsafe) {
        return unsafe
        .replace(/&/g, "&amp;")
        .replace(/</g, "&lt;")
        .replace(/>/g, "&gt;")
        .replace(/"/g, "&quot;");
    }
    
    0 讨论(0)
  • 2020-12-05 17:14

    Try this:

    // Load the xml file using ajax 
    $.ajax({
        type: "GET",
        url: "something.xml",
        dataType: "xml",
        success: function (xml) {
    
            // Parse the xml file and get data
            var xmlDoc = $.parseXML(xml),
                $xml = $(xmlDoc);
            $xml.find('category[name="My t"] logo').each(function () {
                $("#news-container").append($(this).text() + "<br />");
            });
        }
    });
    

    Reference: 1. jQuery.ajax() 2. parseXML()

    0 讨论(0)
  • 2020-12-05 17:14

    If you have a local file you want to read like I do, you can do the following:

    <input type="file" id="file" accept="text/xml">
    <script type="text/javascript">
    document.getElementById('file').addEventListener('change', function (evt) {
        if (!evt.target.files){
            return;
        }
    
        var file = evt.target.files ? evt.target.files[0] : null,
            reader = new FileReader();
    
        reader.onload = function (evt) {
            console.log(evt.target.result);
        };
    
        reader.readAsText(file);
    });
    </script>
    

    This requires the user to select the file, but it does get you the contents of the file. It uses the HTML5 FileReader API.

    0 讨论(0)
提交回复
热议问题