Just Do It - XML Generic Editor
Publicado por Denis Doria 12/06/2008
[ Hits: 4.429 ]
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()
Jogo de adivinhar o número aleatório
Cálculo de pontuação em Tranca
Cria no fluxbox um menu para mudar o wallpaper
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)