Just Do It - XML Generic Editor
Publicado por Denis Doria 12/06/2008
[ Hits: 4.314 ]
Gera arquivos xml a partir de dois arquivos:
xmlfile:
<campo1="coluna1" campo2="coluna3"> <campo1="coluna2"campo2="coluna9">
inputfile:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
Output:
<campo1="2" campo2="4">
<campo1="3"campo2="10">
<campo1="12" campo2="14">
<campo1="13"campo2="20">
Atualmente o script só trabalha com 10 colunas, ou seja, da coluna0 até coluna9. Se for omitido o arquivo de saida o output é feito na tela.
#!/usr/bin/python ########################################### #JUST DO IT - Python Version 0.02 # #XML Generic Editor... # #:-& #Autor: Denis Doria # ########################################### ########################################### #xmlfile # #<campo1="coluna1" campo2="coluna3"> #<campo1"coluna2"campo2="coluna9"> # ########################################### #inputfile # #1 2 3 4 5 6 7 8 9 10 #11 12 13 14 15 16 17 18 19 20 # ########################################### #Output # #<campo1="2" campo2="4"> #<campo1"3"campo2="10"> #<campo1="12" campo2="14"> #<campo1"13"campo2="20"> # ########################################### ########################################### #Changelog # # v0.01 - Cricao do software # - Le um xml generico e uma entrada gerando um xml especifico # # v0.02 - Elimina linhas em branco no arquivo de entrada # - Verificacao da permissao de escrita para o outputfile # - Criacao da ajuda # - Elimina linhas em branco no XML # - Criado opcao de imprimir na tela ou inserir em um arquivo # ########################################### import sys #Verificacao dos argumentos da linha de comando if len(sys.argv) < 2: print "JDI - Generic Xml Editor\n" print "jdi <arquivo xml> <arquivo de entrada> [arquivo de saida]\n" sys.exit(1) #Verificacao dos arquivos necessarios try: xmlfile = open(sys.argv[1],'r') except IOError: print "XML File not found!!!" sys.exit(1) try: inputfile = open(sys.argv[2],'r') except IOError: print "Input File not found!!!" sys.exit(1) out=0 if len(sys.argv)==4: try: outputfile = open(sys.argv[3],'w') out=1 except IOError: print "Permission denied!!!" sys.exit(1) #Elimina as linhas em branco do arquivo XML xmltmp = xmlfile.readlines() xmltmp.sort() xmltmp.reverse() xmlback = xmltmp[:xmltmp.index('\n')] xmllen = len(xmlback) input = inputfile.readlines() for i in range(len(input)): #Elimina o caracter de 'nova linha' newline = input[i].replace('\n','') if newline == '': continue #Cria uma lista com os valores de cada coluna rowinput = newline.split(' ') for j in range(xmllen): xml = [] #Coloca o xml nesta lista xml.extend(xmlback) #Para cada coluna tenta substituir o valor do input no xml for w in range(len(rowinput)): row = 'coluna'+str(w) xml[j] = xml[j].replace(row,rowinput[w]) if out == 0: print '%s' % (xml[j].replace('\n','')) else: outputfile.write(xml[j]) if out == 1: outputfile.flush() outputfile.close() inputfile.close() xmlfile.close()
Versão das principais distribuições.
ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python
Unescape de caracteres especiais ISO-8859-1
Validador de cartão de crédito
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
problemas com artefatos na instalação (0)
Livro Use a cabeça redes de computador (0)