Re: [OT] xmlstarlet y un script bash
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 ficherofichero1/fichero ficherofichero2/fichero ficherofichero3/fichero ficherofichero4/fichero ficherofichero5/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/ficheroxsl:value-of select=./ /xsl:for-each /xsl:template /xsl:stylesheet *** Pero ese programa (xmlstarlet) no sé cómo va O:-) Saludos, -- Camaleón -- 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/pan.2010.04.13.11.23...@gmail.com
Re: [OT] xmlstarlet y un script bash
El día 13 de abril de 2010 12:37, Alwar alwarstud...@gmail.com 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 ficherofichero1/fichero ficherofichero2/fichero ficherofichero3/fichero ficherofichero4/fichero ficherofichero5/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. Buenas, yo tampoco conozco xmlstarlet, pero en perl algo rápido podría ser algo asi como: #!/usr/bin/perl use XML::Simple; my $campos = XMLin(/tmp/practica.xml); for (@{$campos-{fichero}}) { print $_\n; } AguuR Espero haberme explicado bien. Gracias y un saludo! -- 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/t2ueffc99d11004130337p4bce64bdg2fbc9e5f73756...@mail.gmail.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/o2l6fc1ef361004130533k122a5b96hc23cf747d6670...@mail.gmail.com
Re: [OT] xmlstarlet y un script bash
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 ficherofichero1/fichero ficherofichero2/fichero ficherofichero3/fichero ficherofichero4/fichero ficherofichero5/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/ficheroxsl: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