Tengo muchos problemas con simpleXML no me llevo bien con él y él tampoco se lleva bien conmigo xD
Mira que me gustan los ficheros XML pero no he conseguido dominar la técnica para leer y acceder a cualquier campo que quiera. Si sois tan amables de ponerme un ejemplo en base a este fichero XML os lo agradecería.
Tengo que decir que pasar un XML a un array lo conseguí pero claro no es lo mismo... que acceder directamente con simpleXML, y leyendo el manual de phpnet no lo he conseguido

http://php.net/manual/en/book.simplexml.php
Código XML
Código xml:
Ver original
<ROOT GMTNow="26.12.2009 21:10:58"> <EVENTS> <E DBID="1789167" N="Titulo1" D="26/12/2009 20:05:00" StdEventDate="2009-12-26T20:05:00" StdEventDate_UTC="2009-12-26T20:05:00" SID="7" RID="9" LID="1353"> <G DBID="16347728" EID="1789167" N="titulo1.1" GT="7701"> <R DBID="58871633" N="titulo1.1.1" O="aaa"/> <R DBID="58871634" N="titulo1.1.2" O="bbb"/> </G> <G DBID="16347729" EID="1789167" N="titulo1.2" GT="7353"> <R DBID="58871635" N="titulo1.2.1" O="aaa"/> <R DBID="58871636" N="titulo1.2.2" O="bbb"/> </G> </E> <E DBID="1774810" N="titulo2" D="26/12/2009 21:30:00" StdEventDate="2009-12-26T21:30:00" StdEventDate_UTC="2009-12-26T21:30:00" SID="11" RID="9" LID="211"> <G DBID="16296973" EID="1774810" N="titulo2.1" GT="262"> <R DBID="58710872" N="titulo2.1.1" O="aaa"/> <R DBID="58710873" N="titulo2.1.2" O="bbb"/> </G> <G DBID="16339245" EID="1774810" N="titulo2.2" GT="104"> <R DBID="58847315" N="titulo2.2.1" O="aaa"/> <R DBID="58847316" N="titulo2.2.2" O="bbb"/> </G> <G DBID="16345937" EID="1774810" N="titulo2.3" GT="3887"> <R DBID="58866743" N="titulo2.3.1" O="aaa"/> <R DBID="58866744" N="titulo2.3.2" O="bbb"/> </G> </E> <E DBID="1786215" N="titulo3" D="27/12/2009 19:30:00" StdEventDate="2009-12-27T19:30:00" StdEventDate_UTC="2009-12-27T19:30:00" SID="7" RID="28" LID="854"> <G DBID="16295540" EID="1786215" N="titulo3.1" GT="66"> <R DBID="58707046" N="titulo3.1.1" O="aaa"/> <R DBID="58707047" N="titulo3.1.2" O="bbb"/> </G> <G DBID="16295549" EID="1786215" N="titulo3.2" GT="7970"> <R DBID="58707064" N="titulo3.2.1" O="aaa"/> <R DBID="58707065" N="titulo3.2.2" O="bbb"/> </G> <G DBID="16295550" EID="1786215" N="titulo3.3" GT="2225"> <R DBID="58707066" N="titulo3.3.1" O="aaa"/> <R DBID="58707067" N="titulo3.3.2" O="bbb"/> <R DBID="58707068" N="titulo3.3.3" O="ccc"/> <R DBID="58707069" N="titulo3.3.4" O="ddd"/> <R DBID="58707070" N="titulo3.3.5" O="eee"/> <R DBID="58707071" N="titulo3.3.6" O="fff"/> <R DBID="58707072" N="titulo3.3.7" O="ggg"/> <R DBID="58707073" N="titulo3.3.8" O="hhh"/> <R DBID="58707074" N="titulo3.3.9" O="iii"/> <R DBID="58707075" N="titulo3.3.10" O="jjj"/> <R DBID="58707076" N="titulo3.3.11" O="kkk"/> <R DBID="58707077" N="titulo3.3.12" O="lll"/> </G> <G DBID="16329206" EID="1786215" N="titulo3.4" GT="7698"> <R DBID="58820167" N="titulo3.4.1" O="aaa"/> <R DBID="58820168" N="titulo3.4.2" O="bbb"/> </G> <G DBID="16329207" EID="1786215" N="titulo3.5" GT="6710"> <R DBID="58820169" N="titulo3.5.1" O="aaa"/> <R DBID="58820170" N="titulo3.5.2" O="bbb"/> </G> </E> </EVENTS> </ROOT>
SCRIPT
Código PHP:
Ver original
<?php echo '<pre>'; //print_r($xml); echo '</pre>'; foreach ($xml->EVENTS as $evento) { echo '<pre>'; //print_r($evento); echo '</pre>'; echo $evento[0]->DBID, '<br />'; } } else { } ?>
El script anterior no me muestra nada por pantalla.
Si descomento la linea //print_r($xml); muestra la siguiente información
Código:
Muchas gracias de antemano! SimpleXMLElement Object
(
[@attributes] => Array
(
[GMTNow] => 26.12.2009 21:10:58
)
[EVENTS] => SimpleXMLElement Object
(
[E] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 1789167
[N] => Titulo1
[D] => 26/12/2009 20:05:00
[StdEventDate] => 2009-12-26T20:05:00
[StdEventDate_UTC] => 2009-12-26T20:05:00
[SID] => 7
[RID] => 9
[LID] => 1353
)
[G] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 16347728
[EID] => 1789167
[N] => titulo1.1
[GT] => 7701
)
[R] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 58871633
[N] => titulo1.1.1
[O] => aaa
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 58871634
[N] => titulo1.1.2
[O] => bbb
)
)
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 16347729
[EID] => 1789167
[N] => titulo1.2
[GT] => 7353
)
[R] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 58871635
[N] => titulo1.2.1
[O] => aaa
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[DBID] => 58871636
[N] => titulo1.2.2
[O] => bbb
)
)
)
)
)
)
NOTA: He cortado parte de la salida porque excede el numero máximo de caracteres permitidos en el post.
)



