1 / 16

A Sneak Preview of XML in PHP 5 Adam Trachtenberg Co-Author PHP Cookbook adam@trachtenberg.com January 21, 2004

A Sneak Preview of XML in PHP 5 Adam Trachtenberg Co-Author PHP Cookbook adam@trachtenberg.com January 21, 2004. XML Extensions in PHP 5. Work together as a unified whole. Are standardized on a single XML library: libxml2 . Fully comply with W3 specifications. Efficiently process data.

zola
Download Presentation

A Sneak Preview of XML in PHP 5 Adam Trachtenberg Co-Author PHP Cookbook adam@trachtenberg.com January 21, 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Sneak Preview of XML in PHP 5Adam TrachtenbergCo-Author PHP Cookbookadam@trachtenberg.comJanuary 21, 2004

  2. XML Extensions in PHP 5 • Work together as a unified whole. • Are standardized on a single XML library: libxml2. • Fully comply with W3 specifications. • Efficiently process data. • Provide you with the right XML tool for your job.

  3. Five Major Extensions • DOM • SAX • SimpleXML • XPath • XSLT

  4. Music Catalogue XML <music> <artist id="1"> <name>The Rolling Stones</name> <albums> <title>Exile On Main Street</title> </albums> </artist> <artist id="2"> <name>Aimee Mann</name> <albums> <title>I'm With Stupid</title> <title>Bachelor No. 2</title> </albums> </artist> </music>

  5. DOM • The 800 pound gorilla of XML. • You can do everything and the <kitchen:sink> with DOM, but navigating through your documents can be cumbersome. • Tree-based API • Undergone a complete rewrite to correspond with DOM specifications.

  6. DOM Example Code $music = new domDocument; $music->preserveWhiteSpace = false; $music->load('music.xml'); $names = $music-> getElementsByTagName('name'); foreach ($names as $name) {   print $name->firstChild ->nodeValue; } The Rolling Stones Aimee Mann

  7. SAX • PHP's original XML extension. • Streaming (or event-based) parser • Uses less memory than DOM, but frequently at the expense of more complex PHP code. • Used to use expat. Now uses libxml2

  8. SimpleXML • A new PHP 5 only extension. • Excels at parsing RSS files, REST results, and configuration data. • If you know the document's format ahead of time, SimpleXML is the way to go. • Only supports elements, text nodes, and attributes. • Tree-based API

  9. SimpleXML Example Code $x = simplexml_load_string($xml); $artists = $x->artist; foreach($artists as $artist) {     print "$artist->name\n"; } The Rolling Stones Aimee Mann

  10. XPath • Query XML documents like you're using regular expressions to find the subset of information that you need and eliminate the unnecessary portions. • Highly useful and undervalued piece of XML. • Usable with DOM and SimpleXML

  11. XPath Example Code $xpath = new domXPath($music); $albums = $xpath->query( "/music/artist[name = 'Rolling Stones']/albums/name"); foreach ($albums as $a) print $a->firstChild->nodeValue; } Exile On Main Street

  12. XSLT • A way to take XML documents and transform them into HTML or another output format. • Defines templates using XML-based stylesheets. • Easily shared among different applications, but has a quirky syntax. • Uses libxslt library instead of Sablotron.

  13. XSLT Example Code $xslt = new xsltProcessor; $xsl = domDocument::load('music.xsl'); $xslt->importStylesheet($xsl); $xml = domDocument::load('music.xml'); print $xslt->transformToXML($xml);

  14. Web Services • SOAP • PEAR::SOAP • soap Extension (Written in C) • REST • SimpleXML • XML-RPC • Still there…

  15. Resources • DOM, XSLT, XPath • PHP 5 Meets XML and the DOMPHP Magazine: www.php-mag.net • SimpleXML • Using PHP 5's SimpleXMLO’Reilly Network: www.onlamp.com/php

  16. Did I mention I wrote a book?

More Related