Hi, I have the problem, I don´t get the value the file xml.
If can help-me, thanks.
/*** code ***/
DEF VAR hDoc AS HANDLE NO-UNDO.
DEF VAR hRoot AS HANDLE NO-UNDO.
DEF VAR good AS LOGICAL NO-UNDO.
DEF VAR cXML AS LONGCHAR NO-UNDO.
ASSIGN cXML = "<?xml version='1.0' encoding='UTF-8'?>
<retConsStatServ xmlns='http://www.portalfiscal.inf.br/nfe' versao='1.07'>
<tpAmb>2</tpAmb>
<verAplic>SP_NFE_PL_005a_R01</verAplic>
<cStat>107</cStat>
<xMotivo>Serviço em Operação</xMotivo>
<cUF>35</cUF>
<dhRecbto>2008-06-14T12:07:48</dhRecbto>
<tMed>1</tMed>
</retConsStatServ>".
CREATE X-DOCUMENT hDoc.
CREATE X-NODEREF hRoot.
hDoc:LOAD("LONGCHAR",Cxml,FALSE). /*** Pega valor de uma variável ***/
/*hDoc:LOAD("file","XML\ConsultaStatus_v107_resposta.xml",FALSE). /*** Pega valor de um arquivo externo ***/ */
hDoc:GET-DOCUMENT-ELEMENT(hRoot).
RUN GetChildren(hRoot, 1).
DELETE OBJECT hDoc.
DELETE OBJECT hRoot.
PROCEDURE GetChildren:
DEF INPUT PARAMETER hParent AS HANDLE NO-UNDO.
DEF INPUT PARAMETER level AS INTEGER NO-UNDO.
DEF VAR i AS INTEGER NO-UNDO.
DEF VAR hNoderef AS HANDLE NO-UNDO.
CREATE X-NODEREF hNoderef.
REPEAT i = 1 TO hParent:NUM-CHILDREN:
good = hParent:GET-CHILD(hNoderef,i).
IF NOT good THEN
LEAVE.
IF hNoderef:SUBTYPE <> "element" THEN
NEXT.
MESSAGE hNoderef:NAME SKIP
hNoderef:NODE-VALUE SKIP
hNoderef:ATTRIBUTE-NAMES
VIEW-AS ALERT-BOX.
RUN GetChildren(hNoderef, (level + 1)).
END.
DELETE OBJECT hNoderef.
END PROCEDURE.
If can help-me, thanks.
/*** code ***/
DEF VAR hDoc AS HANDLE NO-UNDO.
DEF VAR hRoot AS HANDLE NO-UNDO.
DEF VAR good AS LOGICAL NO-UNDO.
DEF VAR cXML AS LONGCHAR NO-UNDO.
ASSIGN cXML = "<?xml version='1.0' encoding='UTF-8'?>
<retConsStatServ xmlns='http://www.portalfiscal.inf.br/nfe' versao='1.07'>
<tpAmb>2</tpAmb>
<verAplic>SP_NFE_PL_005a_R01</verAplic>
<cStat>107</cStat>
<xMotivo>Serviço em Operação</xMotivo>
<cUF>35</cUF>
<dhRecbto>2008-06-14T12:07:48</dhRecbto>
<tMed>1</tMed>
</retConsStatServ>".
CREATE X-DOCUMENT hDoc.
CREATE X-NODEREF hRoot.
hDoc:LOAD("LONGCHAR",Cxml,FALSE). /*** Pega valor de uma variável ***/
/*hDoc:LOAD("file","XML\ConsultaStatus_v107_resposta.xml",FALSE). /*** Pega valor de um arquivo externo ***/ */
hDoc:GET-DOCUMENT-ELEMENT(hRoot).
RUN GetChildren(hRoot, 1).
DELETE OBJECT hDoc.
DELETE OBJECT hRoot.
PROCEDURE GetChildren:
DEF INPUT PARAMETER hParent AS HANDLE NO-UNDO.
DEF INPUT PARAMETER level AS INTEGER NO-UNDO.
DEF VAR i AS INTEGER NO-UNDO.
DEF VAR hNoderef AS HANDLE NO-UNDO.
CREATE X-NODEREF hNoderef.
REPEAT i = 1 TO hParent:NUM-CHILDREN:
good = hParent:GET-CHILD(hNoderef,i).
IF NOT good THEN
LEAVE.
IF hNoderef:SUBTYPE <> "element" THEN
NEXT.
MESSAGE hNoderef:NAME SKIP
hNoderef:NODE-VALUE SKIP
hNoderef:ATTRIBUTE-NAMES
VIEW-AS ALERT-BOX.
RUN GetChildren(hNoderef, (level + 1)).
END.
DELETE OBJECT hNoderef.
END PROCEDURE.