Skip to main content

Different ways of parsing xml data

Here i show the example for parsing xml data, using jquery, javascript and php.
Here is a sample xml file, we are using, msg.xml:

<messages>
    <message>
    <name>Sam</name>   
    <msg>Hi Anna</msg>
    </message>
    <message>
    <name>Kelly</name>
    <msg>Hi Anna</msg>
    </message>
    <message>
    <name>Sam</name>
    <msg>Hi Anna</msg>
    </message>
    <message>
    <name>Sam</name>
    <msg>Hello Anna</msg>
    </message>
    <message>
    <name>Kelly</name>
    <msg>Anna</msg>
    </message>
</messages>

The source code:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}

xmlDoc=loadXMLDoc("msg.xml");
x=xmlDoc.getElementsByTagName("name")[0];
y=x.childNodes[0];
document.write(y.nodeValue);
document.write("<br>");

var xml = "<music><album>Michael Jackson</album></music>";
var result = $(xml).find("album").text();
document.write(result);
document.write("<br>");
</script>
</head>
<body>
<?php
$xml = "<books>
<book>Patterns of Enterprise Application Architecture</book>
<book>Design Patterns: Elements of Reusable Software Design</book>
<book>Clean Code</book>
</books>";

$dom = new DOMDocument;
$dom->loadXML($xml);
$books = $dom->getElementsByTagName('book');

foreach ($books as $book) {
    echo $book->nodeValue.'<br>';
}
?>
</body>
</html>

Output:
Sam
Michael Jackson
Patterns of Enterprise Application Architecture
Design Patterns: Elements of Reusable Software Design
Clean Code

Comments

Popular posts from this blog

php strip all tags

The below function can strip almost all tags from a string. function strip_all_tags($string) {     $string = preg_replace( '@<(script|style)[^>]*?>.*?@si', '', $string );     $string = strip_tags($string);     return trim($string); } $a = '<script type="text/javascript" src="jquery.js"></script> <div id="test" style="padding:5px; color:red;">Hello world</div>'; echo strip_all_tags($a); // outputs: Hello world

htaccess disable directory browsing, disable file listing, disable file access

There may be some personal or secure data in a file, that you want to hide from the end user, when it is viewed through a web browser. Ex: http://www.example.com/user_files/24/chat.txt In the above scenario, if the file "chat.txt" contains a secure data, and you dont want to allow end users to directly access the file, or to disable the file listing in the folder "user_files" or "24", use the below code in your .htaccess file inside "user_files" folder: Options -Indexes order allow,deny deny from all

dropdown menu over flash banner

It is often annoying in some browsers when the dropdown menu at the top of the flash banner is displayed at the back of the flash. It can be corrected with some minor changes in the flash embed code: 1. for embed tag, add wmode="transparent" 2. add param to the object tag: <param name="wmode" value="transparent" />