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