Progress - Leer atributos nodo Padre con READ-XML

 
Vista:
sin imagen de perfil

Leer atributos nodo Padre con READ-XML

Publicado por LBC (1 intervención) el 12/02/2015 00:31:47
Hola, soy nueva en este lenguaje y he estado probando la función READ-XML pero no he podido leer los atributos del nodo principal, en este caso no puedo obtener Anio, Mes y Tipo. He podido acceder a los nodos hijos y a sus atributos. ¿Se puede obtener estos atributos con la funcion READ-XML o solo se puede obtener la información de los nodos hijo? Si se puede, ¿Cómo lo hago?

<?xml version="1.0" encoding="ISO-8859-15"?>
<ReceiverInfo Version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Test.xsd"
Anio="2015" Mes="01" Tipo="Moneda">
<MessageDetails>
<MessageTypeCode Axmlns="">RECEIVERINFO</MessageTypeCode>
</MessageDetails>
<MessageDetails>
<MessageTypeCode Axmlns="">RECEIVERINFO2</MessageTypeCode>
</MessageDetails>
</ReceiverInfo>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Leer atributos nodo Padre con READ-XML

Publicado por Javier (10 intervenciones) el 24/03/2015 21:19:34
Se puede hacer con DOM Progress 10.2B08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
DEFINE VARIABLE hDoc    AS HANDLE NO-UNDO.
DEFINE VARIABLE hRoot   AS HANDLE NO-UNDO.
DEFINE VARIABLE lGood   AS LOGICAL NO-UNDO.
DEFINE VARIABLE cSerie  AS CHAR NO-UNDO.
DEFINE VARIABLE iFolio  AS INTEGER NO-UNDO.
DEFINE VARIABLE Anio   AS CHAR NO-UNDO.
DEFINE VARIABLE Mes    AS CHAR NO-UNDO.
DEFINE VARIABLE Tipo  AS CHAR NO-UNDO.
DEFINE VARIABLE cFileName AS CHAR NO-UNDO.
cFileName = "archivo.xml".
CREATE X-DOCUMENT hDoc.
CREATE X-NODEREF  hRoot.
hDoc:LOAD("file",cFilename, FALSE).
hDoc:GET-DOCUMENT-ELEMENT(hRoot).
RUN getParent(hRoot).
RUN getChildren(hRoot, 1).
DELETE OBJECT hDoc.
DELETE OBJECT hRoot.
 
display  Anio Mes Tipo.
 
PROCEDURE getParent.
  DEFINE INPUT PARAMETER hhParent AS HANDLE NO-UNDO.
  DEFINE VARIABLE hhNoderef AS HANDLE NO-UNDO.
  CREATE X-NODEREF hhNoderef.
  ASSIGN Anio = hhParent:get-attribute("Anio")
         Mes =  hhParent:get-attribute("Mes")
		 Tipo = hhParent:get-attribute("Tipo").
END.
 
PROCEDURE getChildren:
  DEFINE INPUT PARAMETER hParent AS HANDLE NO-UNDO.
  DEFINE INPUT PARAMETER iLevel AS INTEGER NO-UNDO.
  DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  DEFINE VARIABLE hNoderef AS HANDLE NO-UNDO.
  CREATE X-NODEREF hNoderef.
  REPEAT ix = 1 TO hParent:NUM-CHILDREN:
    lGood = hParent:GET-CHILD(hNoderef, ix).
    IF NOT lGood THEN LEAVE.
    IF hNoderef:SUBTYPE <> "element" THEN NEXT.
        RUN getChildren(hNoderef, (iLevel + 1)).
  END.
  DELETE OBJECT hNoderef.
END PROCEDURE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer atributos nodo Padre con READ-XML

Publicado por Poncho (1 intervención) el 22/05/2015 23:55:21
Como le haces para poder leer el valor del campo UUID. Gracias.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar