none
Select Node XML RRS feed

  • Pergunta

  • Olá . Como poderia pegar o valor : Log_Erro dentro da tag name ?

    <TableTest>

      <TableTest2 id="Upload">
         <Table>
          <Name>Log_Erro</Name>



    • Editado .NET Dev segunda-feira, 23 de julho de 2012 16:48
    segunda-feira, 23 de julho de 2012 16:41

Respostas

  • // Pode mudar por

    XElement.Load(CAMINHO_DO_XML)

    // caso user arquivo externo

    XElement xml = XElement.Parse( @"<TableTest> <TableTest2 id='Upload'> <Table> <Name>Log_Erro</Name> </Table> </TableTest2> </TableTest>" ); // Query Expression var result = from p in xml.Descendants("Table") select p.Element("Name").Value; Console.WriteLine(result);



    Rodolfo Paoni

    • Sugerido como Resposta Vitor Mendes quarta-feira, 25 de julho de 2012 12:49
    • Marcado como Resposta Harley Araujo quarta-feira, 25 de julho de 2012 20:49
    segunda-feira, 23 de julho de 2012 17:17
  • Talvez isso te ajude:

    string xml = @"
                <TableTest>
                    <TableTest2 id='Upload'>
                    <Table>
                        <Name>Log_Erro</Name>
                    </Table>
                    </TableTest2>
                </TableTest>";
    
    //System.Xml.Linq.XDocument xDoc = System.Xml.Linq.XDocument.Load(@"C:\SEU_CAMINHO_DO_XML.XML");
    System.Xml.Linq.XDocument xDoc = System.Xml.Linq.XDocument.Parse(xml);
    
    System.Xml.Linq.XElement xElem = xDoc.Descendants("Table").Select(e => e.Element("Name")).SingleOrDefault();
    
    if (xElem != null)
    {
        //Sua rotina aqui
    }


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Vitor Mendes quarta-feira, 25 de julho de 2012 12:49
    • Marcado como Resposta Harley Araujo quarta-feira, 25 de julho de 2012 20:49
    segunda-feira, 23 de julho de 2012 17:19
  • Desse jeito abaixo aonde esta o erro? ?

    XmlNode node = xmlDoc.SelectSingleNode("TableTest/TableTest2[@id='" +'Upload' + "']" + "/Table[name='Log_Erro']") 

    O nó Table não possui um atributo chamado Name, o Name é um nó contido dentro do nó Table

    string xml = @"
    <TableTest>
        <TableTest2 id='Upload'>
        <Table>
            <Name>Log_Erro</Name>
        </Table>
        </TableTest2>
    </TableTest>";
    
    XmlDocument xDoc = new XmlDocument();
    
    //xDoc.Load(@"C:\ARQUIVO.XML");
    xDoc.LoadXml(xml);
    
    string Upload = "Upload";
    
    XmlNode xNode = xDoc.SelectSingleNode(string.Format("//TableTest2[@id='{0}']/Table/Name", Upload));
    
    if (xNode != null)
    {
        //Sua rotina aqui
        //xNode.InnerXml
    }



    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Vitor Mendes quarta-feira, 25 de julho de 2012 12:49
    • Marcado como Resposta Harley Araujo quarta-feira, 25 de julho de 2012 20:49
    segunda-feira, 23 de julho de 2012 18:15

Todas as Respostas

  • // Pode mudar por

    XElement.Load(CAMINHO_DO_XML)

    // caso user arquivo externo

    XElement xml = XElement.Parse( @"<TableTest> <TableTest2 id='Upload'> <Table> <Name>Log_Erro</Name> </Table> </TableTest2> </TableTest>" ); // Query Expression var result = from p in xml.Descendants("Table") select p.Element("Name").Value; Console.WriteLine(result);



    Rodolfo Paoni

    • Sugerido como Resposta Vitor Mendes quarta-feira, 25 de julho de 2012 12:49
    • Marcado como Resposta Harley Araujo quarta-feira, 25 de julho de 2012 20:49
    segunda-feira, 23 de julho de 2012 17:17
  • Talvez isso te ajude:

    string xml = @"
                <TableTest>
                    <TableTest2 id='Upload'>
                    <Table>
                        <Name>Log_Erro</Name>
                    </Table>
                    </TableTest2>
                </TableTest>";
    
    //System.Xml.Linq.XDocument xDoc = System.Xml.Linq.XDocument.Load(@"C:\SEU_CAMINHO_DO_XML.XML");
    System.Xml.Linq.XDocument xDoc = System.Xml.Linq.XDocument.Parse(xml);
    
    System.Xml.Linq.XElement xElem = xDoc.Descendants("Table").Select(e => e.Element("Name")).SingleOrDefault();
    
    if (xElem != null)
    {
        //Sua rotina aqui
    }


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Vitor Mendes quarta-feira, 25 de julho de 2012 12:49
    • Marcado como Resposta Harley Araujo quarta-feira, 25 de julho de 2012 20:49
    segunda-feira, 23 de julho de 2012 17:19
  • Desse jeito abaixo aonde esta o erro? ?

    XmlNode node = xmlDoc.SelectSingleNode("TableTest/TableTest2[@id='" +'Upload' + "']" + "/Table[name='Log_Erro']") 

    segunda-feira, 23 de julho de 2012 17:29
  • Desse jeito abaixo aonde esta o erro? ?

    XmlNode node = xmlDoc.SelectSingleNode("TableTest/TableTest2[@id='" +'Upload' + "']" + "/Table[name='Log_Erro']") 

    O nó Table não possui um atributo chamado Name, o Name é um nó contido dentro do nó Table

    string xml = @"
    <TableTest>
        <TableTest2 id='Upload'>
        <Table>
            <Name>Log_Erro</Name>
        </Table>
        </TableTest2>
    </TableTest>";
    
    XmlDocument xDoc = new XmlDocument();
    
    //xDoc.Load(@"C:\ARQUIVO.XML");
    xDoc.LoadXml(xml);
    
    string Upload = "Upload";
    
    XmlNode xNode = xDoc.SelectSingleNode(string.Format("//TableTest2[@id='{0}']/Table/Name", Upload));
    
    if (xNode != null)
    {
        //Sua rotina aqui
        //xNode.InnerXml
    }



    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Sugerido como Resposta Vitor Mendes quarta-feira, 25 de julho de 2012 12:49
    • Marcado como Resposta Harley Araujo quarta-feira, 25 de julho de 2012 20:49
    segunda-feira, 23 de julho de 2012 18:15