Jump to content

Como ler um ficheiro .aspx e sacar todos os ID's das divs que o correspondem?


Recommended Posts

Posted

Ora bem, estou a fazer um CMS. Neste momento parei nesta fase:

Encontro-me a trabalhar no file criarMenus.aspx.

No pageLoad do ficheiro referido anteriormente, chamo a função verDIVS(), mas aqui comecam os problemas. Não consigo construir essa função.

Pretendo ir ao ficheiro TESTE.aspx, ler esse ficheiro e sacar todos os nomes das DIVS que comecem com "cms_" .

Alguem me pode ajudar? Arranjar codigo?

*nota: Encontro-me a trabalhar em codebehind C#

Posted

Olá.

Assim de repente poder-se-ia, usando XLinq, carregar o documento usando XElement.Load("path do ficheiro") e depois ias andando na árvore de nós. Mas para isso tinha de o *.aspx ser interpretado como um html bem formado... Talvez por essa razão, quado fosse fazer o load iria dar excepção logo no inicio do ficheiro ao teres <%@ Page Language="C#" AutoEventWi..........

Não testei, mas se tiver tempo vou tentar por aí 😄

Posted

Fazendo para um aspx criado por mim:

public static void Main(){
      using(StreamReader leitura = new StreamReader (@"C:\Users\...\Default.aspx")){
          leitura.ReadLine();//consome 1ª linha inválida

          String text = leitura.ReadToEnd();//consome o resto do texto no streamReader
          XElement elem = XElement.Parse(text);//carrega a String para um elemento
          IEnumerable<XElement> contentor = elem.Elements();//obtem os elementos. Pos [0] == head  Pos[1]==body

          foreach (XElement x in contentor.ElementAt(1).Elements())//percorre os elementos todos do body
          {
              if (x.Name.LocalName.Equals("div")) { //vê quais são divs
                  if(x.Attribute("Id").Value.StartsWith("cms_"){//dos que são divs vê o atributo ID e testa o seu valor
                            (...)
                  }
              }
          }
      }
}

(ATENÇÃO, devido à estrutura que eu idealizei, e devido as horas, a procura em XLinq foi feita dessa forma)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.