problema com a classe TXmlDocument

problema com a classe TXmlDocument

Postby giba_f » Tue Oct 23, 2012 9:05 am

[quote]
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  RUN

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  RUN

<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  RUN

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
giba_f
 
Posts: 18
Joined: Thu Sep 21, 2006 1:51 am
Location: Brasil

Return to All products support

Who is online

Users browsing this forum: No registered users and 3 guests