Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/12/2008, 23:20
manoloOZ
 
Fecha de Ingreso: octubre-2008
Mensajes: 151
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: leer <br> desde el xml

el codigo para leer es el siguiente, es un poco rebuscado pero funciona exepto por lo del <br>:

Código PHP:
if(isset($_POST["TraerNom"]))
{
$Nom$_POST["selCat"].'.xml';

$xmlDoc = new DOMDocument(); 
$xmlDoc->load$Nom ); 

$searchNode $xmlDoc->getElementsByTagName"p" ); 
$searchNodE $xmlDoc->getElementsByTagName"p" ); 
$verificarTituloGrupo 0;
$varNombre 1;
$verificarTitulo2 0;
$verificarTitulo 0;
echo
'<br><br>Titulo:<b>'$_SESSION["Titulo"] .'</b><br>Grupo: <b>'.$_POST["selGrup"].'</b>';
foreach( 
$searchNode as $searchNode 
    {
    
$valueID $searchNode->getAttribute('class');     
    
$nodo $searchNode->nodeValue;
    
//echo $_POST["selTit"]. " = ". $nodo."<br><br>";
    
    
    
if($valueID == "titulo"
        {
            if(
$nodo == $_SESSION["Titulo"])
            {
            
            
$verificarTituloGrupo 1;
            }
            else
            {
            
$verificarTituloGrupo 0;
            }
        }
    
    if((
$valueID == "grupos")&& $verificarTituloGrupo == 1
        {
            if(
$nodo == $_POST["selGrup"])
            {
            
            
$verificarTitulo 1;
            }
            else
            {
            
$verificarTitulo 0;
            }
        }
        
    if(
$verificarTitulo == 1)
        {
            if(
$verificarTitulo2 == 1)
            {
                if(
$valueID == "nombre")
                {
                            echo
'<br><input type="text" name="txtNombre'.$varNombre.'" value="'.$nodo.'"/><a href="EliminarNodo.php?Categoria='.$Nom.'&Clase='.$valueID.'&valor='.$nodo.'">Eliminar</a>';
                            
$varNombre++;
                }
                
                    
            }
            else
            {
            
$verificarTitulo2 1;
            }
        }
        
        
    }

Lo que hace es una vez seleccionado el grupo o titulo del que se desea obtener los nombres busca ese titulo y luego empieza a imprimir el valor de los nodos "nombre" que le siguen en txts hasta encontrar otro nodo de clase "titulo" o "grupo".

el rango de clases es el siguiente: Titulo-Grupo-Nombre-Descripción

ahora tmb tengo problemas para el borrar, si tengo por ejemplo:

<p class="nombre">Un Nombre </p>
<p class="descripcion">Descripcion</p>
<p class="nombre">Otro Nombre </p>

tengo que borrar "Un Nombre" y por ende su descripción pero nose porq el foreach luego de borrar "Un Nombre" se saltea "descripción" y pasa a "Otro Nombre" (si hubiera otra descripcióon despues de esa iría a la 2 osea que se saltea lo que viene despues de lo que borra)

el codigo para borrar es el siguiente:

Código PHP:
$Cat $_GET["Categoria"];

        
$xmlDoc = new DOMDocument(); 
        
$xmlDoc->load$Cat ); 
        
$searchNode $xmlDoc->getElementsByTagName"p" ); 
$varNombre 0;
        foreach( 
$searchNode as $searchNode 
        
            {
             
$valueID $searchNode->getAttribute('class'); 
            
$nodo $searchNode->nodeValue;
        
//    echo "$valueID $varNombre  $nodo".'<br>';
            
if($valueID != "nombre" && $varNombre == 1)
                {
                
                
$root=$searchNode->parentNode;
                        
$root->removeChild($searchNode);
                }else
                {
                
$varNombre =0;
                }
            if(
$nodo == $_GET["valor"])
                    {    echo 
$searchNode->nodeValue;
                        
$varNombre 1;
                        
$root=$searchNode->parentNode;
                        
$root->removeChild($searchNode);
                    }
                    
            
            }
                
                
            
$xmlDoc->save($Cat); 
el borrar lo hago llamandoa otra pagina pasandole los parametros de clase valor del nodo y el xml que debe abrir.


si saben como solucionarlo o una forma mas facil les voy a estar eternamente agradecido.

Saludos