Power Builder - Como leer un archivo xml en power builder y como obtener sus datos

 
Vista:

Como leer un archivo xml en power builder y como obtener sus datos

Publicado por hugo (2 intervenciones) el 13/10/2017 01:22:51
Quiero saber como leer un archivo xml para poder obtener los datos que se encuentran en cada nodo
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
<infoTributaria>
 
<ambiente>1</ambiente>
 
<tipoEmision>1</tipoEmision>
 
<razonSocial>SYSTEMSEC Documento de ejemplo</razonSocial>
 
<nombreComercial>SYSTEMSEC</nombreComercial>
 
<ruc>1310839541001</ruc>
 
<claveAcceso>2908201701131083954100110010370000001041234567811</claveAcceso>
 
<codDoc>01</codDoc>
 
<estab>001</estab>
 
<ptoEmi>037</ptoEmi>
 
<secuencial>000000104</secuencial>
 
<dirMatriz>AV. UNIVERSITARIA Y CALLE INGLATERRA</dirMatriz>
 
</infoTributaria>
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
Imágen de perfil de Leonardo Daniel A.
Val: 821
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Como leer un archivo xml en power builder y como obtener sus datos

Publicado por Leonardo Daniel A. (481 intervenciones) el 13/10/2017 02:44:35
Si esa es la estructura del XML,.. porque no creas un DW con esas columnas y usas la funcion ImportFile
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

Como leer un archivo xml en power builder y como obtener sus datos

Publicado por Hugo (2 intervenciones) el 16/10/2017 17:12:12
Lo que pasa es que este xml tiene mas subnodos asi
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
<totalDescuento>0.00</totalDescuento>
 
 
-<totalConImpuestos>
 
 
-<totalImpuesto>
 
<codigo>2</codigo>
 
<codigoPorcentaje>2</codigoPorcentaje>
 
<descuentoAdicional>0.00</descuentoAdicional>
 
<baseImponible>446.43</baseImponible>
 
<valor>53.57</valor>
 
</totalImpuesto>
 
</totalConImpuestos>
 
<propina>0</propina>
 
<importeTotal>500.00</importeTotal>
 
<moneda>DOLAR</moneda>
 
 
-<pagos>
 
 
-<pago>
 
<formaPago>01</formaPago>
 
<total>500.00</total>
 
<plazo>1</plazo>
 
<unidadTiempo>Dias</unidadTiempo>
 
</pago>
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
Imágen de perfil de Leonardo Daniel A.
Val: 821
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Como leer un archivo xml en power builder y como obtener sus datos

Publicado por Leonardo Daniel A. (481 intervenciones) el 16/10/2017 17:16:05
No pues desafortunadamente PB no tiene funciones para el tratamiento de XML.... tendras que buscar por la Web alguna libreria DLL o algo que te permita hacerlo
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

Como leer un archivo xml en power builder y como obtener sus datos

Publicado por egrandab (19 intervenciones) el 18/10/2017 01:50:47
Se puede hacer utilizando la clase PBDOM

Ejm.


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
45
46
47
48
49
// Convierte un string xml a documento PBDOM_DOCUMENT
// ARGUMENTO : ar_str_xml - El archivo xml como string
// RETORNA   : el documento pbdom_documento
 
PBDOM_BUILDER  pbdom_lector
PBDOM_DOCUMENT pbdom_documento
 
pbdom_lector = Create PBDOM_BUILDER
pbdom_documento = pbdom_lector.BuildFromString(ar_str_xml)
 
DESTROY pbdom_lector
 
RETURN pbdom_documento
 
 
/// **************************************************************
 
/* Retorna el valor del nodo hijo bajo el nodo raiz en el XML
	ARGUMENTO_1 : ar_nodo_raiz - El nodo raíz
	ARGUMENTO_2 : ar_nodo_hijo - El nodo hijo del cual queremos obtener el valor
	ARGUMENTO_3 : ar_pbdom_doc - EL xml converito en documento PBDOM_DOCUMENT
	RETORNA : El valor del nodo hijo
*/
 
//Declaramos arreglos de elementos
PBDOM_ELEMENT pbdom_nodos[], pbdom_elementos[]
 
Integer li_Cont
String ls_valor
 
// Ubicamos el nodo raiz (ar_nodo_raiz)
ar_pbdom_doc.getElementsByTagname (ar_nodo_raiz, pbdom_nodos)
 
IF UpperBound (pbdom_nodos) = 0 THEN
	RETURN ""
 
END IF
 
// Obtenemos un array de todos los Elementos del nodo raiz (ar_nodo_raiz)
pbdom_nodos[1].getchildelements (pbdom_elementos)
 
//Recorremos cada elemento del arreglo para extraer el elemento deseado
FOR li_Cont = 1 TO UpperBound (pbdom_elementos)
	IF pbdom_elementos[li_Cont].getname( ) = ar_nodo_hijo THEN
		RETURN pbdom_elementos[li_Cont].GetText( )
 
	END IF
 
NEXT
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