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:
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_32) o arquivo.xml tem essa estrutura (para o menu acima):
<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:
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 EndDoPorem, 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