none
Ler um arquivo xml utilizando SmartClient RRS feed

  • Pergunta

  • Pessoal,

    Estou tentando ler um arquivo xml e não estou conseguindo. Estou utilizando a arquitetura SCSF.

    O que está acontecendo: o projeto está na pasta c:\projeto\Estudo e o aqruivo xml está na pasta c:\projeto\Estudo\xml\arquivo.xml. Quando faço:

    XmlDocument xml = new XmlDocument();
    xml.LoadXml("arquivo.xml");
    

    O sistema diz que não encontrou o arquivo c:\bin\debug\arquivo.xml.

    Alguem sabe como eu poderia resolver isso?

     

    abraços

    sexta-feira, 15 de abril de 2011 14:53

Respostas

Todas as Respostas

  • Olá,

    O seu programa está buscando o arquivo no diretório corrente, tente assim:

    xml.LoadXml("c:\projeto\Estudo\xml\arquivo.xml");

    []s,


    Carlos dos Santos
    blog: www.carloscds.net 
    twitter: @cdssoftware

    sexta-feira, 15 de abril de 2011 21:54
  • Carlos

     

    Desse jeito eu havia conseguido. Queria saber se teria uma outra forma de fazer isso sem marratar o endereço assim?

     

    Obrigado.

    segunda-feira, 18 de abril de 2011 13:03
  • Jesualdo,

    No momento do build o arquivo está sendo copiado para a pasta do seu projeto /xml ? Imagino que sim, certo? Então você poderia pegar Application.StartupPath e concatenar com "/xml/arquivo.xml" utilizando a função System.IO.Path.Combine... Aí você utiliza o resultado do Combine como caminho do XML... Não poderia ser assim?


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    segunda-feira, 18 de abril de 2011 13:09
    Moderador
  • Jesualdo,

    Não entendi o seu problema. Você tem o programa em uma pasta e o arquivo em outra ? Mas não quer colocar o diretório no código (hard code). Se for isto, pode colocar no arquivo APP.Config e ler do programa, podendo modificar. É isto ?

    []s,


    Carlos dos Santos
    blog: www.carloscds.net 
    twitter: @cdssoftware

    segunda-feira, 18 de abril de 2011 16:35
  • Carlos,

     

    Tenho uma aplicação onde eu verifico se em uma determinada pasta contem um arquivo com um nome.xml, se ele não existir ele gera um arquivo xml com algumas configurações padrões do sistema.

    Criei um XML pra ser minha base, só que não consigo ler esse arquivo se não for marretado. No caso do cliente se ele não tiver colocado o projeto no mesmo caminho ele nao ira achar.

     

    Andre,

    No momento do build o arquivo está sendo copiado para a pasta do seu projeto /xml ?

    Não, eu verifico se existe algum aqruivo .xml nessa pasta, se ele não existir ele gera um arquivo xml com algumas configurações padrões do sistema.

    e o seu exemplo vou testar.

     

    Valeu pessoal

    segunda-feira, 18 de abril de 2011 18:45
  • Jesualdo,

    Era o que eu tinha entendido... Você quer abrir o arquivo utilizando o caminho relativo ao local onde o executável está armazenado... Tente utilizar a dica que eu te passei, acredito que vai dar certo...


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    segunda-feira, 18 de abril de 2011 18:50
    Moderador
  • Jesualdo,

    Então o correto seria informar dentro do software qual o diretório dos arquivos XML. Crie uma tela de configuração e pergunte isto para o usuário.

    []s,


    Carlos dos Santos
    blog: www.carloscds.net 
    twitter: @cdssoftware

    segunda-feira, 18 de abril de 2011 19:06
  • Carlos, fiz desse jeito q vc falou agora.

     

    Brigadão

    segunda-feira, 18 de abril de 2011 21:58
  • André,

    Valeu consegui pegar o caminho.

    Brigadão

    segunda-feira, 18 de abril de 2011 21:58