XML, una vez más,

  • classified
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Dic 23, 2005
  • Mensajes: 540
  • Loc: Bahrain
  • Status: Offline

Nota Diciembre 7th, 2008, 11:27 am

Hola a todos, its been a while, IM tiene problemas con XML, una vez más, uno de los que probablemente se podría resolver por mí.

im codificación de una función que consiste en XML en el interior, básicamente estoy tratando de desarrollar un álbum de música basado en XML para un amigo mío, pero nunca he experimentado la estructura XML como antes.

los elementos podría ser título del álbum, canciones en los álbumes y las letras asociadas con cada canción, por lo que básicamente sería así:

Código: [ Select ]
<?xml version="1.0"?>
<xml>
    <album title="album1">

        <song><![CDATA[song 1]]></song>
        <lyrics><![CDATA[song 1 lyrics]]></lyrics>

        <song><![CDATA[song 2]]></song>
        <lyrics><![CDATA[song 2 Lyrics]]></lyrics>
    </album>

    
    
    <album title="album2">

        <song><![CDATA[song 1]]></song>
        <lyrics><![CDATA[song 1 lyrics]]></lyrics>

        <song><![CDATA[song 2]]></song>
        <lyrics><![CDATA[song 2 lyrics]]></lyrics>
    </album>
    
</xml>
  1. <?xml version="1.0"?>
  2. <xml>
  3.     <album title="album1">
  4.         <song><![CDATA[song 1]]></song>
  5.         <lyrics><![CDATA[song 1 lyrics]]></lyrics>
  6.         <song><![CDATA[song 2]]></song>
  7.         <lyrics><![CDATA[song 2 Lyrics]]></lyrics>
  8.     </album>
  9.     
  10.     
  11.     <album title="album2">
  12.         <song><![CDATA[song 1]]></song>
  13.         <lyrics><![CDATA[song 1 lyrics]]></lyrics>
  14.         <song><![CDATA[song 2]]></song>
  15.         <lyrics><![CDATA[song 2 lyrics]]></lyrics>
  16.     </album>
  17.     
  18. </xml>


y así sucesivamente, ahora ¿Cómo voy a ser capaz de arrebatar el título del álbum, con canciones y las letras asociadas a ella? Le agradecería que un fragmento de código o de un lugar a que cualquier cosa que ayude peeps.
m0o , where <<Less is More>>
http://www.zainals.com
http://www.zainals.com/blog
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Diciembre 7th, 2008, 11:27 am

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13455
  • Loc: Florida
  • Status: Offline

Nota Diciembre 7th, 2008, 6:50 pm

/ / Edit - Im sorry, me di cuenta de que es el foro de Flash y no el foro de programación. :oops:
Esperamos que usted entienda PHP suficiente para traducir esta lógica en AS?

Id empuje de un error de estructura menos propensos si yo fuera usted, pero si los thats en piedra esto debe empezar sus vacaciones.

Código: [ Select ]
<?php
 
$xml = simplexml_load_file('test.xml');
 
foreach($xml->children() as $album)
{
    echo "<h1>{$album['title']}</h1>";
    $expecting_lyrics = false;
    foreach($album->children() as $songnode)
    {
        switch($songnode->getName())
        {
            case 'song':
                if($expecting_lyrics)
                {
                    echo '<p>No Lyrics</p>';
                }
                echo sprintf('<h2>%s</h2>', $songnode);
            break;
            case 'lyrics':
                if(!$expecting_lyrics)
                {
                    echo '<h2>Unknown Song</h2>';
                }
                echo sprintf('<p>%s</p>', $songnode);
            break;
        }
        $expecting_lyrics = !$expecting_lyrics;
    }
}
 
?>
  1. <?php
  2.  
  3. $xml = simplexml_load_file('test.xml');
  4.  
  5. foreach($xml->children() as $album)
  6. {
  7.     echo "<h1>{$album['title']}</h1>";
  8.     $expecting_lyrics = false;
  9.     foreach($album->children() as $songnode)
  10.     {
  11.         switch($songnode->getName())
  12.         {
  13.             case 'song':
  14.                 if($expecting_lyrics)
  15.                 {
  16.                     echo '<p>No Lyrics</p>';
  17.                 }
  18.                 echo sprintf('<h2>%s</h2>', $songnode);
  19.             break;
  20.             case 'lyrics':
  21.                 if(!$expecting_lyrics)
  22.                 {
  23.                     echo '<h2>Unknown Song</h2>';
  24.                 }
  25.                 echo sprintf('<p>%s</p>', $songnode);
  26.             break;
  27.         }
  28.         $expecting_lyrics = !$expecting_lyrics;
  29.     }
  30. }
  31.  
  32. ?>
Strong with this one, the sudo is.
  • classified
  • Expert
  • Expert
  • Avatar de Usuario
  • Registrado: Dic 23, 2005
  • Mensajes: 540
  • Loc: Bahrain
  • Status: Offline

Nota Diciembre 8th, 2008, 3:46 pm

Muchas gracias Joe, im lamentablemente la falta de tiempo para i separados cada álbum con su propio XML por ahora (los plazos)
pero yo realmente apreciamos su ayuda, voy a buscar la lógica detrás del código php im una vez libre.
m0o , where <<Less is More>>
http://www.zainals.com
http://www.zainals.com/blog

Publicar Información

  • Total de mensajes en este tema: 3 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 51 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC