ola a todos...
estou usando a classe TXmlDocument para ler um arquivo.xml, que contem estrutura para montar o menu da app, mas estou com problema.
1) o menu app eh pra ficar mais ou menos assim:
- Code: Select all Expand view
MENU_1 MENU_2 MENU_3 MENU_4
------------------------ ------------------------ ------------------------ ------------------------
Opcao Menu_1
Opcao Menu_1.1
Opcao Menu_1.2
Opcao Menu_1.3
Opcao Menu_1.3.1
Opcao Menu_1.3.2
Opcao Menu_1.4
Opcao Menu_2
Opcao Menu_2.1
Opcao Menu_2.2
Opcao Menu_3
2) o arquivo.xml tem essa estrutura (para o menu acima):
- Code: Select all Expand view
<Menu>
<Titulo>MENU_1</Titulo>
<MenuItem>
<Titulo>Opcao Menu_1</Titulo>
<MenuItem>
<Titulo>Tabelas</Titulo>
<Funcao>Opcao Menu_1.1</Funcao>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_1.2</Titulo>
<Funcao>UdmA020</Funcao>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_1.3</Titulo>
<MenuItem>
<Titulo>Opcao Menu_1.3.1</Titulo>
<Funcao>UdmA005</Funcao>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_1.3.2</Titulo>
<Funcao>UdmA020</Funcao>
</MenuItem>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_1.4</Titulo>
<Funcao>LabA010</Funcao>
</MenuItem>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_2</Titulo>
<MenuItem>
<Titulo>Opcao Menu_2.1</Titulo>
<Funcao>LabA050</Funcao>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_2.2</Titulo>
<Funcao>LabA050</Funcao>
</MenuItem>
</MenuItem>
<MenuItem>
<Titulo>Opcao Menu_3</Titulo>
<Funcao>LabA050</Funcao>
</MenuItem>
</Menu>
<Menu>
<Titulo>MENU_1</Titulo>
</Menu>
<Menu>
<Titulo>MENU_1</Titulo>
</Menu>
<Menu>
<Titulo>MENU_1</Titulo>
</Menu>
estou utilizando os seguintes comandos:
- Code: Select all Expand view
Local hFile := FOpen( "Arquivo.Xml" )
Local oMnuXml := TXmlDocument():New( hFile )
Local oXmlNode := oMnuXml:FindFirst("Menu")
Local oXmlIter := TXmlIterator():new( oXmlNode ) , oTagAtual
Do While .T.
oTagAtual := oXmlIter:Next()
If oTagAtual <> Nil
? oTagAtual:cName , oTagAtual:cData
Else
Exit
Endif
EndDo
Porem, o :Next() nao pega os q finalizam a tag, tipo </Menu> e o </MenuItem>, e teria q saber onde acaba cada menu e/ou menu item pra saber certo onde colocar os MENUITEM e os MENU...ENDMENU.
tambem tentei usar o oChild (e o oNext), mas daquele q estou (pode ser do Opcao Menu_1, ou Opcao Menu_1.3, ou qquer outro), vai sempre ate o final..
se alguem puder me ajudar, ficarei muito agradecido !
MUITO OBRIGADO
Gilberto Frohlich - Toledo/PR
giba_f@hotmail.com
giba_f@yahoo.com.br