none
Caminho virtual não é Válido RRS feed

  • Pergunta

  • Boa tarde,

    Estou trabalhando em um sistema ASP.NET 2008 que utiliza XML. Ele trabalha no Framework 3.5 e utiliza Enterprise Library 4.0(Não sei se estas infromações são de alguma ajuda mas pelo menos servem para situar). Tenho o seguinte problema: Estou tentando ler um arquivo XML que o sistema criou mas no entanto tenho recebido a seguinte mensagem - "(nome do arquivo xml) não é um caminho virtual válido.". Alguem pode me ajudar com este problema. Porque por causa dele não consigo progredir. Não estou utilizando um caminho fixo pois isso causaria problemas quando eu passasse o programa para um servidor.

    Desde já agradeço a atenção.
    terça-feira, 1 de dezembro de 2009 18:45

Respostas

  • André Segue a forma feita por mim para a leitura de xml !

    string

     

    texto = Server.MapPath("XML").ToString() + "/Textos.xml"; // Este deve ser a solução !
    XmlDocument txtDoc = new XmlDocument();
    txtDoc.Load(texto);
    XmlNodeReader trTexto = new XmlNodeReader(txtDoc);

    while

     

    (trTexto.Read())

    {

    switch (trTexto.NodeType){

     

    case XmlNodeType.Element:

     

    if (trTexto.Name == "texto"){

    lblBoaVindas.Text = trTexto.ReadString();}

     

    break;

    }

    }


    Andre Alan Alves => Maranata ! O Senhor Jesus Vem !
    • Sugerido como Resposta Harley Araujo sexta-feira, 4 de dezembro de 2009 12:22
    • Marcado como Resposta Harley Araujo quarta-feira, 9 de dezembro de 2009 17:06
    sexta-feira, 4 de dezembro de 2009 09:40
  • Consegui resolver. Recomplilei o programa e agora ele responde corretamente. Muito obrigado pela ajuda de todos vocês.
    • Marcado como Resposta André Ishihara quinta-feira, 10 de dezembro de 2009 22:21
    quinta-feira, 10 de dezembro de 2009 22:21

Todas as Respostas

  • Ola André,


    Como você está indicando qual o local onde está o arquivo? Qual o código?
    Thiago Dorneles
    terça-feira, 1 de dezembro de 2009 18:55
  • Fale,

    Tenat dessa forma:

    Server.MapPath(

    "nome_arquivo_xml");

    Abraço!


    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    terça-feira, 1 de dezembro de 2009 22:51
  • Eu estou utilizando o seguinte comando: Page.MapPath("~/(PASTA)/") + "(Arquvo XML)". Em outros sistemas isso funcionou, mas neste não. Alguem tem alguma ideia?
    quarta-feira, 2 de dezembro de 2009 11:34
  • Está correto, mais sua pagina está no raiz mesmo ou está dentro de alguma pasta?
    quarta-feira, 2 de dezembro de 2009 11:44
    Moderador
  • Ola André,

    Faça uma verificação se o arquivo existe. E atente ao que o Seilor mencionou.

    Exemplo:

    string arq     = "styles.css";
    string path   = Server.MapPath("~/Styles/") + arq;       
    bool verifica = System.IO.File.Exists(path);


    Atenciosamente

    Thiago Dorneles
    quarta-feira, 2 de dezembro de 2009 11:49
  • Dentro do diretório do sistema, existe uma pasta aonde são armazenados os arquivos XML. O proprio sistema cria estes arquivos. Então porque ele diz que o caminho virtual do arquivo é invalido, sendo que ele mesmo cria o arquivo?
    quarta-feira, 2 de dezembro de 2009 11:51
  • Faz o teste que o thiago colocou para ver se acha seus arquivos.
    quarta-feira, 2 de dezembro de 2009 11:59
    Moderador
  • Ele está me retornando true. Então pelo teste os arquivos estão sendo encontrados. E agora?
    quarta-feira, 2 de dezembro de 2009 13:11
  • Se retornou true tenta usar então, ou senão se der exeception posta aqui
    quarta-feira, 2 de dezembro de 2009 13:13
    Moderador
  • E mesmo depois desta verificação, retornando true, você não consegue ler o xml?

    Poste aqui o código que está gerando erro.
    Thiago Dorneles
    quarta-feira, 2 de dezembro de 2009 13:18
  • Então. Só sei que esta dando erro na parte de ler o XMl que preciso. Normalmente quando retorna esta mensagem ela significa o que?
    quarta-feira, 2 de dezembro de 2009 17:28
  • Ele deve estar com problemas, coloque a exeception
    quarta-feira, 2 de dezembro de 2009 17:32
    Moderador
  • Não entendi. Pois é a excepction que me retorna esta mensagem. O comando que estou utilizando para ler a xml é o DataSet.ReadXML. Não tenho mais ideia do que pode ser. Poís já utilizei da mesma forma em outros sistemas e não tive problemas.....
    quinta-feira, 3 de dezembro de 2009 11:49
  • André Segue a forma feita por mim para a leitura de xml !

    string

     

    texto = Server.MapPath("XML").ToString() + "/Textos.xml"; // Este deve ser a solução !
    XmlDocument txtDoc = new XmlDocument();
    txtDoc.Load(texto);
    XmlNodeReader trTexto = new XmlNodeReader(txtDoc);

    while

     

    (trTexto.Read())

    {

    switch (trTexto.NodeType){

     

    case XmlNodeType.Element:

     

    if (trTexto.Name == "texto"){

    lblBoaVindas.Text = trTexto.ReadString();}

     

    break;

    }

    }


    Andre Alan Alves => Maranata ! O Senhor Jesus Vem !
    • Sugerido como Resposta Harley Araujo sexta-feira, 4 de dezembro de 2009 12:22
    • Marcado como Resposta Harley Araujo quarta-feira, 9 de dezembro de 2009 17:06
    sexta-feira, 4 de dezembro de 2009 09:40
  • Bom dia André !

    Se a dica postada pelo seu chará André Alan não te atender, poste parte do seu codigo e a exeption que apresenta mesmo tendo se certificado que o arquivo existe usando o codigo do Thiago !

    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    Atenciosamente,
    Harley Araujo
    sexta-feira, 4 de dezembro de 2009 12:23
  • Consegui resolver. Recomplilei o programa e agora ele responde corretamente. Muito obrigado pela ajuda de todos vocês.
    • Marcado como Resposta André Ishihara quinta-feira, 10 de dezembro de 2009 22:21
    quinta-feira, 10 de dezembro de 2009 22:21