Indentar ficheiro XML
Posted by: gamboa in Geek, Linux, devel, tags: indent, Linux, regexp, vim, xmlDisclaimer:
Este post vai parecer daqueles que o pessoal faz para ensinar a fazer um “ls” ou um “chmod” numa consola. Mas fica aqui a referência para a próxima vez que precisar.
Hoje (pela hora já foi ontem) no trabalho tinha um ficheiro XML, grande como o caralho e todo ele “numa linha” (sem quebras de linha e sem estar indentado).
Tive de pedir a um colega meu para o abrir no visual studio, porque pelos vistos aquilo indenta logo o ficheiro.
Como passar uma vergonha destas, para mim, é como ser sodomizado em praça pública… ainda agora precisei novamente e em Vim fez-se o trabalho com 3 RegExps:
:%s/<\/\([^>]*\)>/<\/\1>^M/g :%s/\/>/\/>^M/g :%s/\([^\/]\)></\1>^M</g
Para quem não souber:
^M = Ctrl+V - Ctrl+M
Depois a parte simples da indentação:
:set filetype=xml :filetype indent on :e gg=G
Entries (RSS)
May 22nd, 2009 at 9:09 pm
Olá querida,
és tão complicada:
xmllint –format input_file.xml > output_file.xml
O xmllint deve estar num rpm/deb do libxml2 (talvez um -utils ou qq coisa do genero).
Inté,
May 22nd, 2009 at 9:40 pm
E tu és tão fofa.
Mereces que encha essa cara de beijos
Já tinha o xmllint, deve vir como dependência de alguma coisa.
Thanks