El día 13 de abril de 2010 13:23, Camaleón <noela...@gmail.com> escribió: > El Tue, 13 Apr 2010 12:37:18 +0200, Alwar escribió: > >> Hola. >> Tengo un archivo xml con varios nombres de archivos como este (tiene mas >> cosas pero esta es la parte que no puedo sacar): >> >> <practica nombre="Practica1"> >> >> <fichero>fichero1</fichero> >> >> <fichero>fichero2</fichero> >> >> <fichero>fichero3</fichero> >> >> <fichero>fichero4</fichero> >> >> <fichero>fichero5</fichero> >> >> </practica> >> >> Y quiero que el programa xmlstarlet me muestre todos los nombres de >> fichero y así poder meterlos en un array en bash para luego comprobar >> que existan esos archivos. >> Utilizando el comando ""xmlstarlet sel -t -m "/practica" -v fichero >> asignatura.xml"" solo consigo que me muestre "fichero1" pero yo quiero >> mostrar todos, o alguna forma de que me muestre los sucesivos y así >> poder leer todos. > > Te puedo decir cómo hacerlo con una hoja de transformación (XSLT) que > puedes enlazar al XML: > > *** > <?xml version="1.0"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="/"> > <xsl:for-each select="practica/fichero"><xsl:value-of select="."/> > </xsl:for-each> > </xsl:template> > </xsl:stylesheet> > *** > > Pero ese programa (xmlstarlet) no sé cómo va O:-) > > Saludos, > > -- > Camaleón
Gracias Camaleón por tu hoja de estilos, me dio la pista para sacar el comando correcto. Concretamente yo necesitaba xmlstarlet sel -t -m practica/fichero -v "." -n archivo.xml Ya que la opcion -m equivale al for-each de tu xsl y el -v al value-of. A mi no me salia porque no se me ocurrio poner con el -v "." que es lo que tu pusiste en tu xsl. Saqué mas información de aquí: http://mcs.une.edu.au/doc/xmlstarlet-1.0.1/xmlstarlet-ug.html#id1639281 Problema resuelto! Muchas gracias a todos! -- Alvaro Guzmán http://alwar.mainfri.com -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/x2keffc99d11004131133ue9e20a1ds218f880d77026...@mail.gmail.com