none
Tags Proprias? RRS feed

  • Pergunta

  • Pessoal preciso saber o seguinte

    Como pegar o texto dentro de duas tags <minhatag> </minhatag>

    Contar quantas vezes a tag se repete?

     

    segunda-feira, 25 de julho de 2011 21:06

Respostas

  • A primeira dúvida pode ser resolvida com isso: http://www.mycsharpcorner.com/Post.aspx?postID=15
    segunda-feira, 25 de julho de 2011 21:24
  • Realmente o que o Vitor falou funciona.

    Agora, para contar, basta fazer um loop e criar uma variável como contador. No caso de querer deixar apenas aquele código do link apenas no RETURN você pode concatenar a quantidade de vezes na variável result e depois simplesmente tratar isso.

    grande abraço,
    Leonardo B. Moreira
    http://leonardobatistamoreira.blogspot.com


    Leonardo B. Moreira
    Web Developer .net with asp.net and C#
    I know, it is only programming but I like it.
    http://leonardobatistamoreira.blogspot.com
    terça-feira, 26 de julho de 2011 03:16
  • Amigo,

    Segue um exemplo de como fazer esta funcionalidade.

    using System;
    using System.Collections.Generic;
    using System.Text.RegularExpressions;
    
    namespace ExemploTag
    {
      class Program
      {
        static void Main(string[] args)
        {
          string context = @"
                <html>
                <head>
                <title>Teste</title>
                </head>
                <body>
                <minhatag>valor 1</minhatag>
                <minhatag>valor 2</minhatag>
                <img>null</img>
                <minhatag>valor 3</minhatag>
                </body>
                </html>";
    
          var retornoFuncao = RecuperaValorTag("minhatag", context);
    
          foreach (var item in retornoFuncao)
          {
            Console.WriteLine(item); 
          }
    
          Console.WriteLine("Quantidade de itens: {0}", retornoFuncao.Count);
          Console.Read();
        }
    
        private static List<string> RecuperaValorTag(string tag, string context)
        {
          Regex rp = new Regex(string.Format("(?<=<{0}>).*(?=</{0}>)", tag));
          List<string> listRetorno = new List<string>();
    
          foreach (var item in rp.Matches(context))
          {
            listRetorno.Add(item.ToString()); 
          }
    
          return listRetorno;
        }
      }
    }
    
    



    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    terça-feira, 26 de julho de 2011 04:32

Todas as Respostas

  • A primeira dúvida pode ser resolvida com isso: http://www.mycsharpcorner.com/Post.aspx?postID=15
    segunda-feira, 25 de julho de 2011 21:24
  • Realmente o que o Vitor falou funciona.

    Agora, para contar, basta fazer um loop e criar uma variável como contador. No caso de querer deixar apenas aquele código do link apenas no RETURN você pode concatenar a quantidade de vezes na variável result e depois simplesmente tratar isso.

    grande abraço,
    Leonardo B. Moreira
    http://leonardobatistamoreira.blogspot.com


    Leonardo B. Moreira
    Web Developer .net with asp.net and C#
    I know, it is only programming but I like it.
    http://leonardobatistamoreira.blogspot.com
    terça-feira, 26 de julho de 2011 03:16
  • Amigo,

    Segue um exemplo de como fazer esta funcionalidade.

    using System;
    using System.Collections.Generic;
    using System.Text.RegularExpressions;
    
    namespace ExemploTag
    {
      class Program
      {
        static void Main(string[] args)
        {
          string context = @"
                <html>
                <head>
                <title>Teste</title>
                </head>
                <body>
                <minhatag>valor 1</minhatag>
                <minhatag>valor 2</minhatag>
                <img>null</img>
                <minhatag>valor 3</minhatag>
                </body>
                </html>";
    
          var retornoFuncao = RecuperaValorTag("minhatag", context);
    
          foreach (var item in retornoFuncao)
          {
            Console.WriteLine(item); 
          }
    
          Console.WriteLine("Quantidade de itens: {0}", retornoFuncao.Count);
          Console.Read();
        }
    
        private static List<string> RecuperaValorTag(string tag, string context)
        {
          Regex rp = new Regex(string.Format("(?<=<{0}>).*(?=</{0}>)", tag));
          List<string> listRetorno = new List<string>();
    
          foreach (var item in rp.Matches(context))
          {
            listRetorno.Add(item.ToString()); 
          }
    
          return listRetorno;
        }
      }
    }
    
    



    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    terça-feira, 26 de julho de 2011 04:32
  • funciona vlw.
    terça-feira, 26 de julho de 2011 11:44
  • Não se esqueça de marcar as respostas que o ajudaram sempre.
    terça-feira, 26 de julho de 2011 17:25