3

ノードにプレフィックスを付ける必要がありますが、インターフェイスで定義されているIXMLNodeListで名前空間も追加され、すべてのノードにプレフィックスが必要です

  if Length(cds_Partes.FieldByName('Nota').AsString) > 0 then
     Nota.Add( cds_Partes.FieldByName('Nota').AsString);
   OtrosCargos .Add.Codigo := 'V6';
   OtrosCargos.Items[0].Monto :=  cds_Traslado.FieldByName('Importe').AsString;

インターフェース

 function Get_Proyecto: IXMLFactura_proyecto;
 function Get_Nota: IXMLNotasList;
 function Get_CargosCreditos: IXMLFactura_cargosCreditosList;
 function Get_OtrosCargos: IXMLFactura_otrosCargosList;
 .........

function Getfactura(Doc: IXMLDocument): IXMLFactura;
 begin
  Result := Doc.GetDocBinding('PPY:factura', TXMLFactura, TargetNamespace) as    IXMLFactura;
end;

function Loadfactura(const FileName: string): IXMLFactura;
begin
 Result := LoadXMLDocument(FileName).GetDocBinding('PPY:factura', TXMLFactura,  TargetNamespace) as IXMLFactura;
end;

function Newfactura: IXMLFactura;
 begin
  Result := NewXMLDocument.GetDocBinding('PPY:factura', TXMLFactura, TargetNamespace) as IXMLFactura;
end;    

結果

 <PPY:destino codigo="8476" nombre="PLANTA DE MOTORES 4 CILINDROS - SALTILLO"/>

 <nota xmlns="http://www.dfdchryslerdemexico.com.mx/Addenda  /PPY">Addenda de  Prueba</nota>

 <otrosCargos xmlns="http://www.dfdchryslerdemexico.com.mx/Addenda/PPY" codigo="V6" monto="1373.93"/>

プレフィックスは、ノードNOTAおよびOTROSCARGOSではなく、宛先ノードに存在します。

NameSpaceはどの時点で追加されますか?

非常にタンク

4

0 に答える 0