How to load the xml file content to a div.
Here is my HTML in which I need to load XML content
<div class="editorial" id="news-container">
</div>
XML Data
<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>
And xml file name is something.xml
I tried several ways but it didn't work :(
I tried the below method but didn't work.
$('something.xml').find('name').each(function() {
$("#news-container").append($(this).text() + "<br />");
});
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()
You need to escape HTML special chars. Use this function before setting text into div.
function htmlSpecialChars(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """);
}
-- 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 />");
}
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With