You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Dmitry Stogov 45d7ab1a4c Avoid in-place modification 12 years ago
..
examples update the examples 22 years ago
tests - Fixed missing NULL check in SimpleXMLElement::xpath() 12 years ago
CREDITS Fix writing of SQLite and SimpleXMl extension and add Rob to the credits 22 years ago
README - Fix typoes 22 years ago
config.m4 Merge branch 'PHP-5.5' 13 years ago
config.w32 make simplexml headers available to the outta world 13 years ago
php_simplexml.h Refactor simpleXML (compilable, but incompleted) 12 years ago
php_simplexml_exports.h Refactor simpleXML (compilable, but incompleted) 12 years ago
simplexml.c Avoid in-place modification 12 years ago
simplexml.dsp - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 22 years ago
sxe.c Make they are in the same style of Z_ISREF 12 years ago
sxe.h Bump year 12 years ago

README

SimpleXML is meant to be an easy way to access XML data.

SimpleXML objects follow four basic rules:

1) properties denote element iterators
2) numeric indices denote elements
3) non numeric indices denote attributes
4) string conversion allows to access TEXT data

When iterating properties then the extension always iterates over
all nodes with that element name. Thus method children() must be
called to iterate over subnodes. But also doing the following:
foreach ($obj->node_name as $elem) {
// do something with $elem
}
always results in iteration of 'node_name' elements. So no further
check is needed to distinguish the number of nodes of that type.

When an elements TEXT data is being accessed through a property
then the result does not include the TEXT data of subelements.

Known issues
============

Due to engine problems it is currently not possible to access
a subelement by index 0: $object->property[0].

TODO
====

At the moment property access to multiple elements of the same
name returns an array of SimpleXML objects. This should be an
object of a new type instead so that all kinds of linkage,
assignment and deleting would work.