Ver Mensaje Individual
  #2  
Antiguo 18-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola webmasterplc.

Si cadena xml ya está almacenada en una variable de tipo string y no teniendo mas datos en que basarme que la misma cadena que mostras, sólo se me ocurre esto...

En el ejemplo se obtienen los cuatro primeros datos:
Código:
...
implementation

uses StrUtils;

procedure PasarDatos(const XMLStr: string; SL: TStrings);
const
  DESDE : array[1..4] of string = ('rif:numeroRif="', '<rif:Nombre>',
    'rif:AgenteRetencionIVA>', '<rif:ContribuyenteIVA>');
  HASTA : array[1..4] of string = ('">', '<' ,'<' , '<');
var
  i, p1, p2 : Integer;
begin
  for i:= 1 to 4 do
  begin
    p1 := Pos(DESDE[i], XMLStr) + Length(DESDE[i]);
    p2 := PosEx(HASTA[i], XMLStr, p1);
    SL.Add(Copy(XMLStr, p1, p2-p1));
  end;
end;

// Ejemplo de llamada:
procedure TForm1.Button1Click(Sender: TObject);
var
  XMLResult : string;
begin
  XMLResult := Obtener_CadenaXML_Desde_SENIAT;  
  PasarDatos(XMLResult,ListBox1.Items);
end;
Donde Obtener_CadenaXML_Desde_SENIAT sería tu función encargada de obtener la cadena XML; la cuál comentas que ya tenes funcionado.

Saludos.

Edito: Tuve que cambiar las etiquetas [delphi] [/delphi] por que con estas se perdían algunos contenidos de las constantes de cadena.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-05-2013 a las 11:06:21.
Responder Con Cita