Índice
Na primeira parte desta parte do tutorial estabelecemos todos os parâmetros que precisamos para poder realizar o projeto que indicamos no tutorial de construção de um site a partir de um arquivo XML.Nesta segunda parte vamos realizar tudo o que foi planejado usando PitãoDevido à complexidade dos diferentes aspectos do projeto, é possível que na nossa primeira implementação não tenhamos tudo perfeito, porém, isso é bom, pois nos dá a oportunidade de criar um protótipo funcional e melhorar seus componentes.
Gerenciar conteúdo
Nossa primeira ação será gerenciar o conteúdo de nosso Arquivo XML, para isso vamos usar SAXOFONE que já instalamos ou verificamos que o tínhamos na parte anterior do tutorial.
Para conseguir isso, primeiro criamos um contêiner, para o qual vamos passar nosso arquivo XML que criamos.
Vamos ver o código que devemos colocar:
de xml.sax.handler importe ContentHandler de xml.sax import parse class TestHandler (ContentHandler): pass parse ('website.xml', TestHandler ())
Ao executar isso não devemos ter nenhum erro, isso significa que nosso XML já está carregado e que o analisador fez o seu trabalho, caso vejamos algum erro ou exceção devemos nos documentar para ver qual é a causa, podemos contar com a internet e a extensa documentação que ela possui Pitão.
Agora vamos adicionar um método que nos mostra que o que inferimos é verdade, em nossa classe TestHandler vamos incorporar o seguinte código:
def startElement (self, name, attrs): imprimir nome, attrs.keys ()
Quando executarmos nosso programa novamente, veremos algo parecido com o que a imagem a seguir nos mostra:
Agora o próximo passo é obter as informações que cada elemento contém, para isso vamos incorporar os métodos da classe ContentHandler de SAX e vamos obter os elementos H1 que existem em nosso arquivo XML.
Nossa aula deve ser a seguinte:
from xml.sax.handler import ContentHandler from xml.sax import parse class HeadlineHandler (ContentHandler): in_headline = False def __init __ (self, headlines): ContentHandler .__ init __ (self) self.headlines = headlines self.data = [ ] def startElement (self, name, attrs): if name == 'h1': self.in_headline = True def endElement (self, name): if name == 'h1': text = '' .join (self.data ) self. data = [] self.headlines.append (text) self.in_headline = False def caracteres (self, string): se self.in_headline: self.data.append (string) headlines = [] parse ('website. xml ', HeadlineHandler (headlines)) print' O seguinteOlá. Meu nome é Sr. Gumby, e esta é minha página inicial. Aqui estão alguns dos meus interesses:
- Gritando
- Dormindo
- Comendo
Se o executarmos em um navegador, veremos que é interpretado corretamente e teremos um resultado semelhante ao seguinte:
Conseguindo isso finalizamos nossa primeira iteração e este tutorial, cabe a cada um estender o projeto, a fim de lapidar todos os conhecimentos adquiridos e melhorar muito mais aquele primeiro programa.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo