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