none
Erro ao ler XML com LINQ RRS feed

  • Pergunta

  •  

    seguinte to com o seguinte erro com o link to XML

     

    dados XML:

     

    <?xml version="1.0" encoding="utf-8"?>

    <tickers>

    <ticker>

    <titulo>Produto 1</titulo>

    <area></area>

    <texto>Descrição do produto 1 na raiz</texto>

    <foto>./includes/swf/img1.jpg</foto>

    <link>http://www.lunas.com.br/teste/preview.aspx?id=546603</link>

    </ticker>

    <ticker>

    <titulo>Produto 2</titulo>

    <area></area>

    <texto>Descrição do produto 2 na raiz</texto>

    <foto>./includes/swf/2.jpg</foto>

    <link>http://www.lunas.com.br/teste/preview.aspx?id=546603</link>

    </ticker>

    <ticker>

    <titulo>Produto 3</titulo>

    <area></area>

    <texto>Descrição do produto 3 na raiz</texto>

    <foto>./includes/swf/buster.swf</foto>

    <link>http://www.lunas.com.br/teste/preview.aspx?id=546603</link>

    </ticker>

    </tickers>

     

    segue abaixo o codigo q usei p/ ler:

     

    try

    {


    XDocument objXml = XDocument.Load(Server.MapPath("../teste1.xml"), LoadOptions.SetBaseUri | LoadOptions.SetLineInfo);

    var tickers = from xmlDados in objXml.Descendants("ticker")

    select new

    {

    Titulo = xmlDados.Element("titulo").Value,

    Area = xmlDados.Element("area").Value,

    Texto = xmlDados.Element("texto").Value,

    Foto = xmlDados.Element("foto").Value,

    Link = xmlDados.Element("link").Value,

    };

     

    foreach (var ticker in tickers)

    {

    string result;

    result = "titulo: " + ticker.Titulo + "\n";

    result = result + "Area: " + ticker.Area + "\n";

    result = result + "texto: " + ticker.Texto + "\n\n";

    result = result + "foto: " + ticker.Foto + "<p>";

    result = result + "link: " + ticker.Link + "<p>";

    Response.Write(result);

    }

     

     

    }

    catch (Exception ex)

    {

    Response.Write(ex.ToString());

    }

     

    nao estou conseguindo entender onde ele ta reclamando...

    ele acha o arquivo e td, mas da o erro no no do XML

    erro:

     

    A declaração XML deve ser o primeiro nó no documento e não pode haver espaço em branco antes dela. Linha 2, posição 3.

     

    Obs. a tag Area precisa ser em branco, ela nao pode ter valor

    e qdo coloquei valor = 1 por exemplo dentro do XML ele deu o mesmo erro

     

    por favor ajudem

    so falta isso p/ entregar um projeto

    obrigado

    quinta-feira, 15 de janeiro de 2009 19:54

Respostas

  • Ao inves de

    var
    tickers = from xmlDados in objXml.Descendants("ticker")

    Usa

    var tickers = from xmlDados in objXml.Elements("ticker")

     

    http://www.java2s.com/Code/CSharp/XML-LINQ/ASimpleXMLQueryUsingLINQtoXML.htm

    • Marcado como Resposta Jose Pio S Filho quinta-feira, 12 de fevereiro de 2009 15:38
    sábado, 31 de janeiro de 2009 00:38
    Moderador

Todas as Respostas

  • Ao inves de

    var
    tickers = from xmlDados in objXml.Descendants("ticker")

    Usa

    var tickers = from xmlDados in objXml.Elements("ticker")

     

    http://www.java2s.com/Code/CSharp/XML-LINQ/ASimpleXMLQueryUsingLINQtoXML.htm

    • Marcado como Resposta Jose Pio S Filho quinta-feira, 12 de fevereiro de 2009 15:38
    sábado, 31 de janeiro de 2009 00:38
    Moderador
  • nao testei seu palpite mas ja conseguir fazer e era o element mesmo


    obrigadao ai pela resposta

    :)

    tsunamy

    Nunca serei o dono da verdade!!!
    quinta-feira, 12 de fevereiro de 2009 15:39