Files
MBS/WEBSERVICES/test/getxmldata.4gl
T

67 lines
1.9 KiB
Plaintext

FUNCTION getxmldata(filexml)
DEFINE i, l INTEGER
DEFINE r om.XmlReader
DEFINE e,tok,filexml,tipoecf,rnc_e,e_ncf,rnc_c STRING,
pfechafirmadigital VARCHAR(50)
DEFINE a om.SaxAttributes
DISPLAY "filexml: ",filexml
LET r = om.XmlReader.createFileReader(filexml)
LET l = 0
LET e = r.read()
WHILE e IS NOT NULL
CASE e
WHEN "StartDocument"
# DISPLAY "StartDocument:"
WHEN "StartElement"
LET l=l+1
#DISPLAY l SPACES, "StartElement:", r.getTagName()
LET a = r.getAttributes()
FOR i=1 to a.getLength()
IF a.getName(i) = "SignatureValue" THEN
# DISPLAY l SPACES," ",
# a.getName(i)," = ",
# a.getValueByIndex(i)
END IF
END FOR
WHEN "Characters"
IF r.getTagName() = "TipoeCF" THEN
LET tipoecf = r.getCharacters()
EXIT CASE
END IF
IF r.getTagName() = "FechaHoraFirma" THEN
LET pfechafirmadigital = r.getCharacters()
EXIT CASE
END IF
IF r.getTagName() = "RNCEmisor" THEN
LET rnc_e = r.getCharacters()
EXIT CASE
END IF
IF r.getTagName() = "eNCF" THEN
LET e_ncf = r.getCharacters()
EXIT CASE
END IF
IF r.getTagName() = "RNCComprador" THEN
LET rnc_c = r.getCharacters()
EXIT CASE
END IF
WHEN "SkippedEntity"
# DISPLAY "Entity:'",r.skippedEntity(),"'"
WHEN "EndElement"
# DISPLAY l SPACES, "EndElement:", r.getTagName()
LET l=l-1
WHEN "EndDocument"
# DISPLAY "EndDocument:"
OTHERWISE
# DISPLAY "Invalid event: ",e
END CASE
LET e=r.read()
END WHILE
RETURN tipoecf,pfechafirmadigital,rnc_e,e_ncf,rnc_c
END FUNCTION