Jump to content
avarata

Ler TAG XML

Recommended Posts

avarata

Olá,

Estou a desenvolver um projecto que lê ficheiros XML. O ficheiro é gerado por um outro programa por isso não pode ser alterado.

A estrutura é deste género:

<FDDCell id="G94BsU2">
<attributes>
<OCNSActivation>false</OCNSActivation>
<activityFactorCcch>66</activityFactorCcch>
<antennaAngleOfOpening>63</antennaAngleOfOpening>
<appAltitude>0</appAltitude>
<appAltitudeUncertainty>47</appAltitudeUncertainty>
...

O que eu gostava de saber é se é possível ler o valor que está dentro dos <>?

Porque assim não precisava de estar a criar tags para cada um dos parâmetros.

Share this post


Link to post
Share on other sites
avarata

Eu queria ler mesmo o noma da tag, e a segui o atributo.

Estava a usar o SAX parser, mas não consegui encontrar nenhuma solução. Estou a tentar ler linha a linha e interpretar o texto.

Share this post


Link to post
Share on other sites
aladino77

Veja o meu exemplo http://www.portugal-a-programar.pt/topic/59982-ler-xml-file/

Para ler atributos

public void startElement(String uri, String localName, String qName,
   Attributes attributes) throws SAXException {

 // <FDDCell id="G94BsU2">
 if (qName.equalsIgnoreCase("FDDCell")) {
   tagTurma = true;
   fddCell = new FDDCell();
   fddcell.id = attributes.getValue("id");
 }
}

Edited by Rui Carlos
Formatação do código.

Share this post


Link to post
Share on other sites
avarata

O que eu queria fazer era evitar ter que identificar a tag.

Nesse caso que apresentaste tens qName.equalIgnoreCase("FDDCell"). Eu queria evitar ter que escrever no código todas as minhas tags, porque são várias centenas.

A minha ideia era que ele lesse automaticamente o que está dentro das <> e fosse possível ter acesso a isso.

Estou a pensar num método mais rudimentar, ler linha a linha como se fosse um ficheiro de texto.

Share this post


Link to post
Share on other sites
avarata

O nome da tag está em qName (e localName). Não precisas de o comparar com nada.

Podes pegar no valor e colocá-lo num HashMap, por exemplo.

Boa! Grande ajuda, assim já consigo fazer tudo o que quero. Vou experimentar.

Desde já obrigado a todos!!!

Share this post


Link to post
Share on other sites
avarata

[Edit:]

Mais uma questão. É possível saber quando se chega ao respectivo </tag>?

Já consegui, no endElement imprimo a tag.

Edited by avarata

Share this post


Link to post
Share on other sites
avarata

Olá,

É possível verificar qual o tipo do meu conteúdo?

<Contacto>
<Nome>Alberto</Nome>
<Idade><15/Idade>
<email>false</email>
</Contacto>

Isto é, no código apresentado ao ler o conteúdo do Nome automaticamente verificar que é uma String, e ao ler o conteúdo da Idade automaticamente verificar que é um Int.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.