There are plenty of other examples on jQuery with XML and you can read all of it here.
Now, there can be multiple DIVβs with different contents on a single page and we can refresh all the DIVβs contents at a specified time interval. We can set different time intervals for different DIV and refresh each without reloading the page.
Here in my example, I have an XML file (library.xml) with few nodes in it. Iβll extract each node (with values) every 5 seconds and display the contents in the DIV. That is, the DIV gets refreshed with new values, extracted from the XML file every 5000 milliseconds.
π Now, you can also do this using plain JavaScript. See this example here.
Copy the data and save it in file and name it library.xml.
<?xml version="1.0"?> <!-- Last edited by Arun Banik @ https://encodedna.com --> <Library> <List> <code>1</code> <BookName>Computer Architecture</BookName> <Category>Computers</Category> <Price>125.60</Price> </List> <List> <code>2</code> <BookName>Advanced Composite Materials</BookName> <Category>Science</Category> <Price>172.56</Price> </List> <List> <code>3</code> <BookName>Asp.Net 4 Blue Book</BookName> <Category>Programming</Category> <Price>56.00</Price> </List> </Library>π
<!DOCTYPE html> <html> <head> <title>Refresh a DIV Without Reloading the Page</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> </head> <body> <p>Will refresh content in 5 seconds</p> <div id="books" style="margin:5px 0;"></div> </body> <script> $(document).ready(function () { refresh_Div(); }); var i = 1; function refresh_Div() { $('#books').empty(); $.ajax({ type: 'GET', url: '../../library/library.xml', dataType: 'xml', success: function (xml) { $(xml).find('List').each(function () { if ($(this).find('code').text() == i) { $('#books').append( '<div>' + '<div><b>Name of Book: </b>' + $(this).find('BookName').text() + '</div> ' + '<div><b>Category: </b>' + $(this).find('Category').text() + '</div> ' + '<div><b>Price: </b>' + $(this).find('Price').text() + '</div> ' + '</div>') .hide().fadeIn(2000); } }); i = i + 1; if (i >= 3) i = 1; } }); } var reloadXML = setInterval(refresh_Div, 5000); </script> </html>π
In the above script, the setInterval() method calls the refresh_Div() method every 5 seconds (5000 milliseconds). The method has an Ajax code that will extract XML data, node by node in every 5 seconds and append it to the DIV, without reloading the page.
Similarly, you can display images (like an automatic thumbnail slider) and show the images one by one on a DIV, without reloading the page and other contents.