Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   error XML (https://www.clubdelphi.com/foros/showthread.php?t=91611)

ANCELMO 16-03-2017 23:12:14

error XML
 
Buenas tardes.


me podrian ayudar con el siguiente error, estoy tratando de enviar un atributo de un nodo en un xml que sea de la siguiente forma

xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02"

pero no he podido siempre me manda error y lo puedo enviar colocandolo asi

xmlns:sfa="urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02"

y tiene que ser de la primera forma (xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02")

Casimiro Notevi 17-03-2017 10:02:50

Revisa la guía de estilo, gracias :)
Sobre todo el punto 7, además de que no somos adivinos para saber qué error es el que te muestra.

ANCELMO 17-03-2017 13:55:13

ok.

aun nodo tengo que masdarle un atributo en el archivo xml y se tiene que mostrar xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02"
el error es que si lo envio asi

nodoprincipal := Xml.AddChild('Document');
nodoprincipal.SetAttributeNS('xmlns:','','urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02');
fininstncdttrf := nodoprincipal.AddChild('FinInstnCdtTrf');

en archivo se muestra asi


-<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02">


-<FinInstnCdtTrf xmlns="">

el error esta en que en el segundo nodo no debe ir ningun atributo

Galahad 18-03-2017 09:55:16

error xml
 
Hola, buenas.
Yo tuve un problema similar y lo solucioné utilizando funciones de cadena para manipular dicha cadena y reemplazar en la misma un contenido por otro, como ejemplo:

Cita:


xmldocumento.Active := false;
xmldocumento.LoadFromXML( Ficheroxml.xml);
sxml := xmldocumento.XML.text;
cadorigen := '<Facturae xmlns="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">';
cadfinal := '<fe:Facturae xmlns:fe="http://www.facturae.es/Facturae/2014/v3.2.1/Facturae">';
sxml := StringReplace( sxml ,cadorigen,cadfinal,[rfReplaceAll]);; // Reemplazamos la primera linea del fichero
xmldocumento.XML.Text := sxml;
xmldocumento.Encoding := 'UTF-8';
xmldocumento.SaveToFile(FPrincipal.SaveDialog1.FileName);
Espero esto te pueda servir.
Saludos..

ANCELMO 21-03-2017 19:47:08

muchas gracias me sirvió mucho la idea


La franja horaria es GMT +2. Ahora son las 12:10:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi