none
Ler Atributo de um campo xml RRS feed

  • Pergunta

  • Boa Noite Pessoal, preciso de uma ajuda urgente, senão vou ter que ficar até mais tarde para terminar. Tenho o seguinte XML abaixo, eu preciso ler apenas  o nó com os atributo e mostrar na tela. Alguém pode dar um exemplo prático para mim poder ir embora.
    <Global>
      <Diretor>
         <Codigo>0</Codigo> 
         <Nome>Carlos</Nome>
         <DIR NAME="Carlos" TXTIMP="CAR" DAY="S" ATIVO="S" ATUALIZA="1"/>
         <DIR NAME="CarlosHENRINQUE" TXTIMP="CARHEN" DAY="S" ATIVO="S" ATUALIZA="1"/> 
      </Diretor>     
    </Global>

    Obrigado pela ajuda.

    • Editado Justos terça-feira, 5 de outubro de 2010 21:39 Ajuste
    terça-feira, 5 de outubro de 2010 21:38

Respostas

  • Veja se ajuda, João:

    http://msdn.microsoft.com/en-us/library/30sc5k1h%28vs.71%29.aspx

    Tem um atributo root.GetAttribute()

    Flw!


    Danilo Oliveira
    • Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 8 de outubro de 2010 00:37
    • Marcado como Resposta Justos quarta-feira, 13 de outubro de 2010 19:05
    terça-feira, 5 de outubro de 2010 21:42
  • Boa Noite Malange, esse site o proxy bloqueia, por favor  me da um exemplo pratico ja estou desesperado para eu poder ir embora.

    Obrigado

     XmlDocument inventory = new XmlDocument();
      inventory.Load("inventory.xml");
    
      XmlNodeList elements = inventory.SelectNodes("//inventory/items/item");
      foreach (XmlElement element in elements) {
        string productCode = element.GetAttribute("productCode");
        int quantitySold = Int32.Parse(element.GetAttribute("quantity"));
    
        Console.WriteLine(quantitySold);
        
        string xPathExpression = "//items/item[@productCode='" + productCode + "']";
        XmlElement inventoryItem = (XmlElement)inventory.SelectSingleNode(xPathExpression);
      
        int quantity = Int32.Parse(inventoryItem.GetAttribute("quantity"));
        quantity -= quantitySold;
        inventoryItem.SetAttribute("quantity",quantity.ToString());
      }
      inventory.Save("inventory.xml");
     }


    Just Be Humble Malange!
    • Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 8 de outubro de 2010 00:37
    • Marcado como Resposta Justos quarta-feira, 13 de outubro de 2010 19:01
    terça-feira, 5 de outubro de 2010 21:58
    Moderador
  • João,

    Se estiver utilizando .NET 3.5 ou superior, sugiro a utilização do XElement do LINQ to XML:

    http://msdn.microsoft.com/pt-br/library/system.xml.linq.xelement.aspx


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    • Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 8 de outubro de 2010 00:37
    • Marcado como Resposta Justos quarta-feira, 13 de outubro de 2010 19:04
    quarta-feira, 6 de outubro de 2010 13:03
    Moderador

Todas as Respostas

  • Boa Noite Pessoal, preciso de uma ajuda urgente, senão vou ter que ficar até mais tarde para terminar. Tenho o seguinte XML abaixo, eu preciso ler apenas  o nó com os atributo e mostrar na tela. Alguém pode dar um exemplo prático para mim poder ir embora.
    <Global>
      <Diretor>
         <Codigo>0</Codigo> 
         <Nome>Carlos</Nome>
         <DIR NAME="Carlos" TXTIMP="CAR" DAY="S" ATIVO="S" ATUALIZA="1"/>
         <DIR NAME="CarlosHENRINQUE" TXTIMP="CARHEN" DAY="S" ATIVO="S" ATUALIZA="1"/> 
      </Diretor>     
    </Global>

    Obrigado pela ajuda.

    Aqui e a escola do xml: http://www.w3schools.com/dom/dom_node.asp
    Just Be Humble Malange!
    terça-feira, 5 de outubro de 2010 21:41
    Moderador
  • Veja se ajuda, João:

    http://msdn.microsoft.com/en-us/library/30sc5k1h%28vs.71%29.aspx

    Tem um atributo root.GetAttribute()

    Flw!


    Danilo Oliveira
    • Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 8 de outubro de 2010 00:37
    • Marcado como Resposta Justos quarta-feira, 13 de outubro de 2010 19:05
    terça-feira, 5 de outubro de 2010 21:42
  • Boa Noite Malange, esse site o proxy bloqueia, por favor  me da um exemplo pratico ja estou desesperado para eu poder ir embora.

    Obrigado

     XmlDocument inventory = new XmlDocument();
      inventory.Load("inventory.xml");
    
      XmlNodeList elements = inventory.SelectNodes("//inventory/items/item");
      foreach (XmlElement element in elements) {
        string productCode = element.GetAttribute("productCode");
        int quantitySold = Int32.Parse(element.GetAttribute("quantity"));
    
        Console.WriteLine(quantitySold);
        
        string xPathExpression = "//items/item[@productCode='" + productCode + "']";
        XmlElement inventoryItem = (XmlElement)inventory.SelectSingleNode(xPathExpression);
      
        int quantity = Int32.Parse(inventoryItem.GetAttribute("quantity"));
        quantity -= quantitySold;
        inventoryItem.SetAttribute("quantity",quantity.ToString());
      }
      inventory.Save("inventory.xml");
     }


    Just Be Humble Malange!
    • Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 8 de outubro de 2010 00:37
    • Marcado como Resposta Justos quarta-feira, 13 de outubro de 2010 19:01
    terça-feira, 5 de outubro de 2010 21:58
    Moderador
  • João,

    Se estiver utilizando .NET 3.5 ou superior, sugiro a utilização do XElement do LINQ to XML:

    http://msdn.microsoft.com/pt-br/library/system.xml.linq.xelement.aspx


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    • Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 8 de outubro de 2010 00:37
    • Marcado como Resposta Justos quarta-feira, 13 de outubro de 2010 19:04
    quarta-feira, 6 de outubro de 2010 13:03
    Moderador