Just Do It - XML Generic Editor
Publicado por Denis Doria 12/06/2008
[ Hits: 4.629 ]
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()
Calculadora de area de poligonos e circulos
Calcular aproximação de raiz quadrada
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (2)
O programa assinador digital (3)
Warcraft II Remastered no Linux? (2)









