Foros del Web » Programando para Internet » PHP »

contar tags

Estas en el tema de contar tags en el foro de PHP en Foros del Web. buenas, quizás esta pregunta ya la hayan respondido, no sé, así que por las dudas: como se hace para contar los tags de un tipo ...
  #1 (permalink)  
Antiguo 24/05/2011, 12:39
Avatar de Ale_VH  
Fecha de Ingreso: abril-2011
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 13 años, 7 meses
Puntos: 0
contar tags

buenas, quizás esta pregunta ya la hayan respondido, no sé, así que por las dudas:
como se hace para contar los tags de un tipo en particular (digamos los tags que se llamen "nombre"), de un xml??? suponiendo que el root del xml es "personas", "nombre" si primer hijo y luego "edad", "sexo" y "notas" son hijos de "nombre" (osea nietos de "personas"). intente con count (nombre), una vez ya habia hecho $nombre=$root-getElementsByTagName("nombre"). bueno a ver si me ayudan con esta. saludos!
  #2 (permalink)  
Antiguo 24/05/2011, 15:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: contar tags

Con SimpleXML o DOM puedes hacerlo, específicamente con xpath
Código PHP:
Ver original
  1. <?php
  2. $str = <<<XML
  3. <foo>
  4.     <bar />
  5.     <bar />
  6.     <bar />
  7.     <bar />
  8.     <bar />
  9. </foo>
  10. XML;
  11. $xml = new SimpleXMLElement($str);
  12. echo count($xml->xpath('//bar')); //imprime 5
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/05/2011, 15:32
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: contar tags

O puedes utilizar count directamente en la expresión(con DOM):

Código PHP:
Ver original
  1. $xml = <<<XML
  2. <foo>
  3.     <bar />
  4.     <bar />
  5.     <bar />
  6.     <bar />
  7.     <bar />
  8. </foo>
  9. XML;
  10.  
  11. $xpath = new DOMXpath(DOMDocument::loadXML($xml));
  12. echo $xpath->evaluate('count(//bar)') . PHP_EOL;

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 24/05/2011, 16:51
Avatar de Ale_VH  
Fecha de Ingreso: abril-2011
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: contar tags

buenísimo, mañana lo pruebo (ahora mismo me caigo del sueño y si me pongo a hacer mi mujer me corta). Gracias gente!
  #5 (permalink)  
Antiguo 25/05/2011, 10:43
Avatar de Ale_VH  
Fecha de Ingreso: abril-2011
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: contar tags

Cita:
Iniciado por masterpuppet Ver Mensaje
O puedes utilizar count directamente en la expresión(con DOM):

Código PHP:
Ver original
  1. $xml = <<<XML
  2. <foo>
  3.     <bar />
  4.     <bar />
  5.     <bar />
  6.     <bar />
  7.     <bar />
  8. </foo>
  9. XML;
  10.  
  11. $xpath = new DOMXpath(DOMDocument::loadXML($xml));
  12. echo $xpath->evaluate('count(//bar)') . PHP_EOL;

Saludos.
una pregunta, me confunde un poco el principio de esta respuesta, la otra más todavía porque nunca use simplexml. asi que me decante por esta, pero no me queda claro la primera parte, se supone que es el contenido del xml? disculpen las molestias. salud!
  #6 (permalink)  
Antiguo 25/05/2011, 10:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: contar tags

Es solo una forma de almacenar en una variable el contenido. Podría haberlo hecho así
Código PHP:
Ver original
  1. $xml = '<foo>
  2.    <bar />
  3.    <bar />
  4.    <bar />
  5.    <bar />
  6.    <bar />
  7. </foo>';
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 25/05/2011, 10:48
Avatar de Ale_VH  
Fecha de Ingreso: abril-2011
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: contar tags

ok, pero entonces lo que esta después del "=" y entre las ' ' es el contenido del xml, no?
  #8 (permalink)  
Antiguo 25/05/2011, 10:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: contar tags

Exacto, es como si estuvieras llamando un archivo externo, o sea un archivo.xml
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 25/05/2011, 10:55
Avatar de Ale_VH  
Fecha de Ingreso: abril-2011
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: contar tags

muchas gracias! otra cosa que no sé por qué es así es la dobe barra entre los parentesis de evaluate... y no quiero abusar, pero tengo otra consulta que es un poco más complicada que plasmé en el tema http://www.forosdelweb.com/f18/warning-leer-xml-con-domdocument-915426/, si podés mirarlo a ver si se te ocurre algo, te lo agradezco. gracias de nuevo!

Etiquetas: tags
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:32.