search
Homephp教程php手册PHP中的类-操作XML(1)

 

http://www.hansanderson.com/ me


/*
   (c) 2000 Hans Anderson Corporation.  All Rights Reserved.
   You are free to use and modify this class under the same
   guidelines found in the PHP License.

   -----------

   bugs/me:
   http://www.hansanderson.com/php/
   me@hansanderson.com

   -----------

   Version 1.0

       - 1.0 is the first actual release of the class.  It's  
         finally what I was hoping it would be, though there
         are likely to still be some bugs in it.  This is
         a much changed version, and if you have downloaded
         a previous version, this WON'T work with your existing
         scripts!  You'll need to make some SIMPLE changes.

       - .92 fixed bug that didn't include tag attributes

         (to use attributes, add _attributes[array_index]
          to the end of the tag in question:
           $xml_html_head_body_img would become
           $xml_html_head_body_img_attributes[0],  
          for example)

          -- Thanks to Nick Winfield
             for reporting this bug.

       - .91 No Longer requires PHP4!

       - .91 now all elements are array.  Using objects has
         been discontinued.

   -----------

   What class.xml.php is:

   A very, very easy to use XML parser class. It uses PHP's XML functions
   for you, returning one array that has all the tag information.  The only  
   hard part is figuring out the syntax of the tags!

   -----------

   Sample use:

   require('class.xml.php');
   $file = "data.xml";
   $data = implode("",file($file)) or die("could not open XML input file");
   $obj = new xml($data,"xml");


   print $xml["hans"][0]->num_results[0];
   for($i=0;$i    print $xml["hans"][$i]->tag[0] . " ";
   }

   To print url attributes (if they exist):

   print $xml["hans"][0]->attributes[0]["size"]; # where "size" was an attr name

   (that's it! slick, huh?)
   -----------

   Two ways to call xml class:  

       $xml = new xml($data);
       - or -
       $xml = new xml($data,"jellyfish");

   The second argument (jellyfish) is optional.  Default is 'xml'.
   All the second argument does is give you a chance to name the array
   that is returned something besides "xml" (in case you are already using
   that name).  Normal PHP variable name rules apply.

   ----------

   Explanation of xml class:

   This class takes valid XML data as an argument and  
   returns all the information in a complex but loopable array.

   Here's how it works:

       Data:

           
           
             Hans Anderson's XML Class
           
           
           
           

       Run the data through my class, then access the title like this:
       $xml["html_head"][0]->title[0];

       Or, loop through them:
       for($i=0;$i           print $xml["html_head"][$i]->title[0] . " ";
       }

       Yes, the variable names *are* long and messy, but it's
       the best way to create the tree, IMO.


Here is a complex explanation I sent to one class.xml.php user:

---------

> Now I've run into another problem:
>
>
>

Markets

> By Aaron L. Task
Senior
> Writer

>
>
> How do I get BYLINE_AUTHOR?

print $xml["STORY_BYLINE"][0]->BYLINE_AUTHOR[0];

> And just a little question: Is there an easy way to get TIMESTAMP?

print $xml["STORY"][0]->attributes[0]["TIMESTAMP"];

This is confusing, I know, but it's the only way I could really do
this.  Here's the rundown:

The $xml part is an array -- an array of arrays.  The first array is the



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment