Many new PHP developer looking for how to easily read the xml file. In this tutorial I will show you how to read the xml file using PHP language.

This is my xml file format and file name is readxml.xml file


<?xml version="1.0"?>

<!-- our XML-document describes a purchase order -->
<purchase-order>

 <date>2005-10-31</date>
 <number>12345</number>

 <purchased-by>
 <name>My name</name>
 <address>My address</address>
 </purchased-by>

 <!-- a collection element, contains a set of items -->
 <order-items>

 <item>
 <code>687</code>
 <type>CD</type>
 <label>Some music</label>
 </item>

 <item>
 <code>129851</code>
 <type>DVD</type>
 <label>Some video</label>
 </item>

 </order-items>

</purchase-order>

This is one php file called test.php and code as follows


<?php
 //create new document object
 $dom_object = new DOMDocument();
 //load xml file
 $dom_object->load("test.xml");

 $item = $dom_object->getElementsByTagName("item");

 foreach( $item as $value )
 {
 $codes = $value->getElementsByTagName("code");
 $code  = $codes->item(0)->nodeValue;

 $types = $value->getElementsByTagName("type");
 $type  = $types->item(0)->nodeValue;

 $labels = $value->getElementsByTagName("label");
 $label  = $labels->item(0)->nodeValue;

 echo "$code - $type - $label <br>";
 }
?>

When you run the readxml.php file. you will see the following output.

687 – CD – Some music
129851 – DVD – Some video

Many developer who are experienced in development. But still that comes to another cms or project development. We are always search for good IDE which are free and open source that is first requirement.

Our basic need are as follows in any IDE, the IDE need to support following things:

  • CSS
  • XHTML/HTML
  • JavaScript
  • PHP
  • MySQL

I created a list of IDE which I used daily  to do a development. Here I need to clarify IDE is language specific. I work in PHP, Ruby on Rails, Adobe Air, Flex, Javascript, CSS.

I recommend following IDEs which I really found useful for all the developer who are working in wordpress, joomla, drupal development.

1. eclipse (Compatible  on Windows and Linux)

Description: Eclipse is best IDE for all language development. Eclipse IdE is basically Java development but still that provides PHP, ROR and other language support. I like this IDE for java development but I did not recommend for PHP or Ruby on Rails.

2. NetBeans (Compatible  on Windows and Linux)

Description: This IDE has also all language support. I specially like this IDE from Ruby on Rails development. I Used this IDE for Ruby on Rails development as well as some times for PHP development. Among the Ruby on Rails developer this IDE is so popular.

3. Komodo (Compatible  on Windows and Linux)

Description : This IDE is also support for all languages. This IDE is really good support for PHP. I really love this IDE for PHP development. Simple and fast and still nice features about PHP. This IDE is really popular among the PHP developers.

4. Aptana (Compatible  on Windows and Linux)

Description : This IDE is mainly made for Ruby on Rails development. This is also popular among Ruby developers. This IDE has features like eclipse. I like this IDE for Adobe Air and flex development.  This IDE has also PHP support.

5. EditPlus (Compatible  on Windows)

Description: This IDE is plain simple text editor. Shows you simple color highlight features. I specially recommend this IDE for PHP development and new PHP developer always start with this IDE so they will get filmier with PHP functions and methods because this IDE is does not provide any help. I love the use this IDE in daily use for any language development.

If you want to add any more IDEs. You can comments on this article.

Last year in Feb I heard about JSONP and really liked the JSONP solutions. JSONP allows you to make an HTTP request outside your own domain
JSONP consume the Web Services from JavaScript code. Earlier I worked on so on AJAX but there is issue with working or communication issue with cross domain sites.
XMLHttpRequest is blocked from making external requests.

JavaScript code to make a JSONP call will as follows:

function common_jsonpRequest(url, name, query) {

 if (url.indexOf("?") > -1)
 url += "&jsonp="
 else
 url += name + "&";
 if (query)
 url += encodeURIComponent(query) + "&";
 url += new Date().getTime().toString(); // prevent caching

 var JSONPscript = document.createElement("script");
 JSONPscript.id = 'wordpressapi_jsonpRequest';
 JSONPscript.setAttribute("src", url + "&CacheBuster=" + Math.random());
 JSONPscript.setAttribute("type","text/javascript");

 // write the jsonp script tag
 document.body.appendChild(JSONPscript);
 //script.text = "";

}

function returncall (data){
 alert(data);
// you can use data as a variable also.
}

In same javascript you should write the returning function as above.

You can call JSONP this function as follows;

<a href="http://wordpressapi.com/files/JSONP-request.gif"><img class="alignnone size-medium wp-image-1167" title="JSONP-request" src="http://wordpressapi.com/files/JSONP-request-300x125.gif" alt="" width="300" height="125" /></a>
common_jsonpRequest(base_url+'getData.php?jsonp=mycallback&name=for_wordpressapi');

Notel: getData.php file will beahave like externaal javascript file so handle this file carefully.
getData.php sample file.

<?php
$data = "this is our dynamic data";
if($_REQUEST['name']=='for_wordpressapi'){

echo "returncall(".$data.")";

}

?> 

This will return the "this is our dynamic data" as a alert.

What is XML?
Extensible Markup Language (XML) is described as both a markup language. Now it is known as data storage format also

XML is very important in in today’s application development environment.
If you’ve never before worked with XML in PHP or have not yet made the jump to PHP5, this starter guide to working with new functionality available in PHP5 for XML.

Using following code you are able to create simple xml file.

<?php

//Creates XML string and XML document using the DOM
$dom = new DomDocument(’1.0′);

//add root – <books>
$books = $dom->appendChild($dom->createElement(‘books’));

//add <book> element to <books>
$book = $books->appendChild($dom->createElement(‘book’));

//add <title> element to <book>
$title = $book->appendChild($dom->createElement(‘title’));

//add <title> text node element to <title>
$title->appendChild(
$dom->createTextNode(‘WordPressapi Magazine’));

//generate xml
$dom->formatOutput = true; // set the formatOutput attribute of
// domDocument to true
// save XML as string or file
$test1 = $dom->saveXML(); // put string in test1
$dom->save(‘wordpressapi1.xml’); // save as file
?>

Out put of above code will as follows:

<?xml version=”1.0″?>
<books>
<book>
<title>WordPressapi Magazine</title>
</book>
</books>

Now I am going to show you how to read the xml file using php

<?php
$dom = new domDocument;
$dom->loadXML(‘wordpressapi1.xml’);
if (!$dom) {
echo ‘Error while parsing the document’;
exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title; // WordPressapi Magazine
?>

or in other way

$xmlFileData = file_get_contents(“wordpressapi1.xml”);
// Here’s our Simple XML parser!
$xmlData = new SimpleXMLElement($xmlFileData);
// output will be shown in array format
print_r($xmlData);

Here I am giving you the very basic sample code for creating the XML file through PHP and MYsql

<?php

// We'll be outputting a PDF
header('Content-type: text/xml');

echo "”

$db_name = “testDB”;
$connection = mysql_connect(“example.com”, “username”, “password”) or die(“Could not connect.”);
$table_name = ‘user’;

$query = “select * from ” . $table_name;

$result = mysql_query($query, $connection) or die(“Could not complete database query”);
$num = mysql_num_rows($result);

while ($row = mysql_fetch_assoc($result)) {
echo “”. $row['firstname'].”";
echo “”. $row['lastname'].”";
echo “

“. $row['address'].”

“;
echo “”. $row['age'].”";
}

?>

Wordpressapi is developer code book.
wordpressapi on Facebook

Who am I?

Sony Kumari founded Wordpressapi in Feb 2010. She started writing since Aug 2006 in wordpress blog. Later on She moved her blog to wordpressapi.com.

Sony Kumari is dubble gradute and earned M.C.A. in Computers. Sony Kumari handled the so many projects in many different technology. She worked on Java, PHP, Ruby on Rails, Javascript, Web services, Social applications, Ad campaigns.

Mahesh is the Author of Wordpressapi, as well as a serial web entrepreneur, sci-fi author, and aspiring world changer. He has been writing for Wordpressapi since Dec 2009. His previous experience includes Photoshop Design, CSS design, Web design and wordpress themes development.

Mahesh is a graduate and earned a B.E. in Electronics. He is having three years of experience in Web design and Wordpress application development.

Rahul is the Author of Wordpressapi, as well as a web designer and photoshop artist. His previous experience includes Photoshop Design, CSS design, Web design and wordpress themes development.

Rahul is a graduate and earned a B.A. in History. He is having Five years of experience in Web design and Wordpress application development.

© 2010 Wordpressapi. All Rights Reserved. Reproduction without explicit permission is prohibited.