Título: Modificar archivo xml Publicado por: DonnySantiago en 26 Agosto 2015, 19:04 pm Hola buen dìa,
Soy nuevo en esto , tengo un archivo .txt que tiene cierto contenido xml , como por ejemplo : <nombre> Donny </nombre> Pero hay casos que este archivo contiene etiquetas de contenido vacío como por ejemplo: <Numero> </numero> Mi duda es la siguiente , como haria para eliminar esas etiquetas de contenido vacío, claro esta que esas etiquetas pueden varias no solo será <Numero></Numero> , sino también aparecerán etiquetas como <Direccion></Direccion> que también tendrán contenido vacío. Esto lo puedo realizar con algún programa que lo haga de manera automática , osea que reconozca el archivo que estará en una carpeta en especifica y lo modifique automáticamente. Algo por ahí escuche del batch ? , se puede hacer con .net ? Título: Re: Modificar archivo xml Publicado por: engel lex en 26 Agosto 2015, 23:23 pm con batch sería una locura hacerlo con .net seria programable... la cosa es que no vayas a romper alguna dependencia
es decir no sea algo como Código: <persona> en ese caso si nombre estuviera vacio y lo borras, te arriesgas a que el programa que use el xml tenga un fallo con .net tendrías que hacer esa verificación Título: Re: Modificar archivo xml Publicado por: explorer en 26 Agosto 2015, 23:25 pm Se puede hacer con un poco de Perl, desde la misma línea de comandos...
Código (cambiando code_38243.xml por el nombre del archivo xml a procesar). Con este archivo de entrada: Código el resultado es: Código La misma solución, en forma de programa: Código
Título: Re: Modificar archivo xml Publicado por: Eleкtro en 27 Agosto 2015, 08:12 am Algo por ahí escuche del batch ? , se puede hacer con .net ? .Net sería la mejor opción o al menos una de las mejores, al ser una solución amistosa, sencilla y extremadamente eficiente, ya que la librería de classes de .Net proporciona miembros muy sofisticados para el parsing y edición de documentos XML, cómo XElement, Xmlelement, XDoc, XmlDocument, etc, puediendo llevar a cabo la misma tarea de diversas maneras según "X" necesidades (con ciertas excepciones); sin mencionar que además la IDE Visual Studio exprime al máximo sus elaboradas características añadiendo acceso inmediato en tiempo de diseño a los miembros del documento XML, con la posibilidad opcional de añadir/activar IintelliSense (auto completado de los nombres de los miembros del documento XML). Sin duda la utiización de .Net junto a Visual Studio le da un significado nuevo y extraordinario a la manipulación programática o automatizada de este tipo de documentos, ya que Visual Studio marca un antes y un despues practicamente en todo lo relacionado con la experiencia proporcianada al usuario final en comparación con cualquier otra IDE para cualquier otro lenguaje, y aparte, la librería de classes de .Net Framework no tiene rival en cuanto a cantidad de miembros y a su calidad de elaboración (soy muy fan, tenía que escribir todo esto). El código que te voy a mostrar de ejemplo es algo muy simple, ya que la tarea no requiere más, y de todas formas aquí no se piden tareas, pero bueno...: Ejemplo, en VisualBasic.Net: Código (declaré esas variables para que no te pierdas) Documento original: Código
Resultado de ejecución: Código
Es un ejemplo. En caso de que lo uses ten en cuenta que puedes personalizarlo cómo prefieras, por ejemplo, si tienes elementos hijos con elementos sub-hijos y solo quieres eliminar los sub-hijos vacíos, entonces puedes indicar con una simple condiciónal, que se expresen los elementos hijos vacios en la modificación ( <elemento_hijo_vacio /> ). PD: También puedes utilizar el módulo xml de Python, por poner un ejemplo diferente a C#/VB.Net. Saludos |