×
Linguagem de Programação ADVPL
Perguntas Tratamento de XML
- filipe.abreu
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 23
- Obrigados Recebidos: 0
11 anos 3 meses atrás #16459
por filipe.abreu
Tratamento de XML foi criado por filipe.abreu
Não estou conseguindo obter o numero de sub nodes de primeiro nivel de um node
Ex:
<activityHistory>
<section>
<id>101173</id>
<description>Produtos do Pedido</description>
<order>1</order>
<alternativeIdentifier/>
<active>true</active>
<mandatory>1</mandatory>
<useItem>2</useItem>
<findItemsByIdentifier>false</findItemsByIdentifier>
<itemFillMode>0</itemFillMode>
<groupingItemsTypeOnMobile>0</groupingItemsTypeOnMobile>
<activityHistoryReportType>V</activityHistoryReportType>
<displayItemsInMobile>0</displayItemsInMobile>
<seeItemsCollectedAutomatically>false</seeItemsCollectedAutomatically>
<quizMode>false</quizMode>
<locked>false</locked>
<markCompleteGroup>false</markCompleteGroup>
<items>
<item>...</item>
<item>...</item>
</items>
<section>
no código uso a função XMLCHILDCOUNT(oXml:_activityHistory:_sections:_section:_items), o problema é que só está me retornando 1 em vez de 2. Ou seja não está me retornando o numero correto de subnodes do node <Items>. Alguem sabe o que pode estar ocorrendo??
Ex:
<activityHistory>
<section>
<id>101173</id>
<description>Produtos do Pedido</description>
<order>1</order>
<alternativeIdentifier/>
<active>true</active>
<mandatory>1</mandatory>
<useItem>2</useItem>
<findItemsByIdentifier>false</findItemsByIdentifier>
<itemFillMode>0</itemFillMode>
<groupingItemsTypeOnMobile>0</groupingItemsTypeOnMobile>
<activityHistoryReportType>V</activityHistoryReportType>
<displayItemsInMobile>0</displayItemsInMobile>
<seeItemsCollectedAutomatically>false</seeItemsCollectedAutomatically>
<quizMode>false</quizMode>
<locked>false</locked>
<markCompleteGroup>false</markCompleteGroup>
<items>
<item>...</item>
<item>...</item>
</items>
<section>
no código uso a função XMLCHILDCOUNT(oXml:_activityHistory:_sections:_section:_items), o problema é que só está me retornando 1 em vez de 2. Ou seja não está me retornando o numero correto de subnodes do node <Items>. Alguem sabe o que pode estar ocorrendo??
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 3 meses atrás #16463
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Tratamento de XML
Veja assim
Len(oXml:_activityHistory:_sections:_section:_items)
se retorna a quantidade de itens.
Len(oXml:_activityHistory:_sections:_section:_items)
se retorna a quantidade de itens.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- filipe.abreu
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 23
- Obrigados Recebidos: 0
11 anos 3 meses atrás #16469
por filipe.abreu
Respondido por filipe.abreu no tópico Tratamento de XML
Obrigado pela ajuda Luiz, mais infelizmente não deu certo...
Por favor Acessar ou Registrar para participar da conversa.
- filipe.abreu
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 23
- Obrigados Recebidos: 0
11 anos 3 meses atrás #16477
por filipe.abreu
Respondido por filipe.abreu no tópico Tratamento de XML
Seu eu usar a função XMLCHILDCOUNT(oXml:_activityHistory) ele me retorna o numero de sub nodes corretamente mais quando é com um node que parece com um array ele me retorna 1.
Ex: se eu usar assim XMLCHILDCOUNT(oXml:_activityHistory:_itens) ele me retorna errado(1)
se eu usar assim XMLCHILDCOUNT(oXml:_activityHistory:_itens:_item[1]) ele me retorna a quantidade de subnodes do item[1]
E ae pessoal como retornar a quantidade de itens??
Ex: se eu usar assim XMLCHILDCOUNT(oXml:_activityHistory:_itens) ele me retorna errado(1)
se eu usar assim XMLCHILDCOUNT(oXml:_activityHistory:_itens:_item[1]) ele me retorna a quantidade de subnodes do item[1]
E ae pessoal como retornar a quantidade de itens??
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 3 meses atrás #16500
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Tratamento de XML
Ta osso em mano, usa o len e tenta debugar quebrando as tags uma a uma
ou faz o seguinte
assim que der o break point coloca o objeto oXml na visualização watchs assim vc consegue observar certinho o objeto ok.
ou faz o seguinte
assim que der o break point coloca o objeto oXml na visualização watchs assim vc consegue observar certinho o objeto ok.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 3 meses atrás #16501
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Tratamento de XML
No IDE, vai em visualizar, janelas de debug, watchs, assim que parar no debug, marca a palavra oXML e com o botão direito do mouse joga dentro desta janela, clica no sinal de mais e localiza a tag de itens.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.096 segundos