Foros del Web » Programando para Internet » PHP »

Como obtengo tags especificos de un XML

Estas en el tema de Como obtengo tags especificos de un XML en el foro de PHP en Foros del Web. hola a todos, tengo la siguiente estructura XML Código HTML: - <contents> - <gamecollection> - <game> <id> 1251 </id> <category> Arcade </category> <title> Bamm </title> ...
  #1 (permalink)  
Antiguo 23/03/2006, 16:18
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Mensajes: 753
Antigüedad: 12 años, 7 meses
Puntos: 4
Como obtengo tags especificos de un XML

hola a todos, tengo la siguiente estructura XML

Código HTML:
-
	<contents>
-
	<gamecollection>
-
	<game>
<id>1251</id>
<category>Arcade</category>
<title>Bamm</title>
<rights>es</rights>
<resource url="http://contents.mediafusion.es/juegos/1251_c_p01.gif" type="title"/>
<resource url="http://contents.mediafusion.es/juegos/1251_c_trailer.gif" type="trailer"/>
-
	<description>
Una mente rápida y clara son requisitos imprescindibles para jugar a este fantástico juego de puzzle de acción. El objetivo es limpiar cada nivel de bolas, combinando tres o más del mismo color, esto hará que las que están detrás desaparezcan automáticamente. En este juego cuenta el tiempo, es importante ser rápido!.
</description>
-
	<compatibility>
<terminal brand="nokia" model="3100"/>
<terminal brand="nokia" model="3300"/>
<terminal brand="nokia" model="3410"/>
<terminal brand="nokia" model="3510i"/>
<terminal brand="nokia" model="3650"/>
<terminal brand="nokia" model="5100"/>
<terminal brand="nokia" model="6100"/>
<terminal brand="nokia" model="6220"/>
<terminal brand="nokia" model="6310i"/>
<terminal brand="nokia" model="6600"/>
<terminal brand="nokia" model="6610"/>
<terminal brand="nokia" model="6650"/>
<terminal brand="nokia" model="6800"/>
<terminal brand="nokia" model="7210"/>
<terminal brand="nokia" model="7250"/>
<terminal brand="nokia" model="7250i"/>
<terminal brand="nokia" model="7650"/>
<terminal brand="nokia" model="8910i"/>
<terminal brand="siemens" model="m50"/>
<terminal brand="nokia" model="n-gage"/>
<terminal brand="sonyericsson" model="p800"/>
<terminal brand="motorola" model="t720"/>
</compatibility>
<copyright>no</copyright>
</game>
</gamecollection>
</contents> 
necesito obtener los tags brand y model de cada uno de los nodos terminal que estan dentro de <compatibility>
le he dado vueltas y vueltas, con codigo que he hallado en el foro, pero no logro obtener esta lista un array de esta estructura

compatibles[marca][modelo]

alguien podria indicarme como podria hacer en este caso?

el codigo php que utilizo es el siguiente:

Código PHP:
    $xmlFieldNames=array("url");
    foreach (
$xmlFieldNames as $xmlField) {
       if(
strpos($resultado,$xmlField)!==false){
           
// I've broken 1 single line into 4 for display purposes
           
$parsedXML[$xmlField]=substr($resultado,
           
strpos($resultado,"<$xmlField>")+strlen("<$xmlField>"),
           
strpos($resultado,"</$xmlField>")-strlen("<$xmlField>")
           -
strpos($resultado,"<$xmlField>"));
            if (
$xmlField=="url")
           {
                
$url_enlace=$parsedXML[$xmlField];
           }
      }
    } 
este lo utilizo para obtener de otra estructura un nodo llamado URL
cuando lo quiero aplicar a esa estructura, logro obtener en un array toda la parte de <compatibility> pero no separados por terminal... alguien si entendio mi problema, y que me pueda ayudar, bienvenido sea....
__________________
Visita mi comprador de móviles
  #2 (permalink)  
Antiguo 24/03/2006, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Los "tag's" que llamas en XML si mal no recuerdo le llaman "nodos" (hago mención a este comentario por si buscas información al respecto .. a veces lo que más vale es saber la "palabra clave" por la que buscar ...).

En sitios como www.phpclasses.org tienes muchas classes para trabajar con XML donde tienes ya implementado funciones (métodos de esas classes) para acceder a ciertos "nodos" o "tag's" concretos de tu XML.

Un ejemplo (tienes muchos más en la categoría "XML" de ese sitio):
http://phpclasses.promoxy.com/browse/package/4.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 24/03/2006, 09:09
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Mensajes: 753
Antigüedad: 12 años, 7 meses
Puntos: 4
Cita:
Iniciado por Cluster
Los "tag's" que llamas en XML si mal no recuerdo le llaman "nodos" (hago mención a este comentario por si buscas información al respecto .. a veces lo que más vale es saber la "palabra clave" por la que buscar ...).

En sitios como www.phpclasses.org tienes muchas classes para trabajar con XML donde tienes ya implementado funciones (métodos de esas classes) para acceder a ciertos "nodos" o "tag's" concretos de tu XML.

Un ejemplo (tienes muchos más en la categoría "XML" de ese sitio):
http://phpclasses.promoxy.com/browse/package/4.html

Un saludo,

Gracias Cluster :)
Voy a comenzar a buscar a ver si encuentro una clase que me ayude.
__________________
Visita mi comprador de móviles
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:56.