2004-01-08 21:14:38 +00:00
|
|
|
SimpleXML is meant to be an easy way to access XML data.
|
|
|
|
|
|
|
|
SimpleXML objects follow four basic rules:
|
|
|
|
|
2004-01-17 19:41:32 +00:00
|
|
|
1) properties denote element iterators
|
2004-01-08 21:14:38 +00:00
|
|
|
2) numeric indices denote elements
|
|
|
|
3) non numeric indices denote attributes
|
|
|
|
4) string conversion allows to access TEXT data
|
|
|
|
|
2004-01-17 20:20:18 +00:00
|
|
|
When iterating properties then the extension always iterates over
|
|
|
|
all nodes with that element name. Thus method children() must be
|
2004-01-17 19:41:32 +00:00
|
|
|
called to iterate over subnodes. But also doing the following:
|
2004-01-17 20:20:18 +00:00
|
|
|
foreach ($obj->node_name as $elem) {
|
2004-01-17 19:41:32 +00:00
|
|
|
// do something with $elem
|
|
|
|
}
|
2004-01-17 20:20:18 +00:00
|
|
|
always results in iteration of 'node_name' elements. So no further
|
2004-01-17 19:41:32 +00:00
|
|
|
check is needed to distinguish the number of nodes of that type.
|
|
|
|
|
2004-01-08 21:14:38 +00:00
|
|
|
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
|
2004-01-17 20:20:18 +00:00
|
|
|
name returns an array of SimpleXML objects. This should be an
|
2004-01-08 21:14:38 +00:00
|
|
|
object of a new type instead so that all kinds of linkage,
|
2004-01-17 20:02:01 +00:00
|
|
|
assignment and deleting would work.
|