Arquivo texto ou arquivo XML?
[ad#texto]
No fundo ambas contém texto para os olhos humanos, porém computadores não têm olhos humanos e a escolha correta para a sua necessidade poderá influenciar drasticamente o sucesso do seu projeto de software.
Em primeiro lugar, vocês leram meu post sobre heterogeneidade? Não? Ele irá ajudar a entender este aqui.
É comum que aplicações diferentes e em muitos casos em diferentes plataformas precisem se comunicar e estabelecer a forma correta é vital para a sua continuidade, assim sendo a troca de arquivos é o caminha mais simples e talvez o mais utilizado.
Mas como serão os arquivos?
Vamos nos ater a dois tipos, arquivo texto comum e o XML.
O XML por obedecer à norma de implementação do W3C facilita a vida de ambos os lados, pois basta definir a estrutura de tag´s que o próprio parser de cada um dos sistemas se encarregará de criar/ler o XML sem maiores problemas.
Outros dois pontos fortes do XML é a possibilidade de ao utilizar DOM você consegue atravessar toda a sua estrutura em busca de dados, sem a necessidade de ficar iterando linha a linha o que lhe garante robustez e performance na aplicação. O segundo ponto é que caso o conteúdo (CDATA) de uma tag for alterada a sua aplicação vai funcionar e entender o novo conteúdo de forma transparente, pois o parser procura o conteúdo com base na tag e não em posição do cursor ou coisa semelhante.
E para não deixar o XML como uma entidade de perfeição, ele tem por excelência a necessidade de ser maior que um simples arquivo texto, o que em grande volume pode complicar a sua utilização.
Já o arquivo texto tem a vantagem de ser menor (relativamente ao XML) e a sua flexibilidade é muito maior, pois a sua leitura ao ser executada linha a linha permite a captura de caracteres pela posição do cursor ou por delimitadores como a vírgula, tabulação e aspas (estas são as mais utilizadas, mas você pode definir a sua própria quebra no arquivo texto).
Porém o seu maior trunfo que é a flexibilidade é também o seu maior defeito, pois isto demanda uma análise maior e uma interação entre as duas pontas no desenvolvimento do padrão do arquivos texto e também em muitos casos uma simples alteração de conteúdo pode ocasionar a quebra de leitura e gerar transtornos enormes.
Então qual deles utilizar?
A sua análise é que manda, porém eu costumo utilizar o XML para troca maciça de informações entre aplicações e deixo o arquivo texto mais para configurações de software e pequenos detalhes onde eu posso definir a sua estrutura de acordo com a minha necessidade pontual.