Cita:
Empezado por pararegistrarme
Un fragmento de los mensajes que se capturan en "OnBeforeExecute" del "THTTPRIO" es del estilo a este:
Código:
<?xml version="1.0"?> ...
.
.
.
<AltaFactuSistemaFacturacion SOAP-ENC:id="1" xsi:type="NS2:AltaFactuSistemaFacturacion">
<Cabecera SOAP-ENC:id="2" xsi:type="NS3:Cabecera">
<IDVersion xsi:type="NS3:VersionType">1.0</IDVersion>
<ObligadoEmision SOAP-ENC:id="3" xsi:type="NS3:PersonaFisicaJuridicaESType">
...
Muy engorroso de leer. ¿Alguien conoce alguna forma de eliminar la parte "sobrante" de las etiquetas?
Es decir:
Código:
Esta es la línea que tenemos: <Cabecera SOAP-ENC:id="2" xsi:type="NS3:Cabecera">
Línea que quiero obtener: <Cabecera>
O este otro caso:
Lo que obtenemos: <IDVersion xsi:type="NS3:VersionType">1.0</IDVersion>
Lo que quiero obtener: <IDVersion>1.0</IDVersion>
Gracias de antemano por vuestro tiempo.
|
El componente HTTPRIO tiene una propiedad Converter que hace referencia al objeto que hace la conversion tanto en la funcion SOAPToObject como ObjectToSOAP, dentro de este objeto tienes la propiedad Options, desmarca soSendUntyped y con esto te quita todas las etiquetas y te da un xml limpio.
Código Delphi
[-]HTTPRIO1.Converter.Options := HTTPRIO1.Converter.Options - [ soSendUntyped ];