Hi Zusammen,
ja x2 macht das hier scheinbar besser.
Musste nur
Jedi aus dem Source rauswerfen, da ich in der Firma kein
Jedi installiert habe
(und auch nicht einfach installieren darf)
und die erzeugte
PAS-Datei noch überarbeiten, da er mit Fehlermeldungen gekommen war.
Ich denke das liegt wohl daran, dass x2utils und die erzeugte Datei von der Version her nicht zusammen passten.
Datumsfelder sind nun tatsächlich vom Typ "DateTime" auch nice.
Es gibt noch viele Dinge die ich mir nun ansehen muss.
etwas ärgerlich, weil ich mit
Delphi-Quellcode:
var
node : IXmlNode;
const
sCurrNodeName = 'Person';
begin
node := ChildNodes.FindNode(sCurrNodeName, '');
if (node = nil) then
begin
node := InternalAddChild(nil, sCurrNodeName, '', -1);
node.SetAttributeNS('ns', GetNamespaceURI(), NULL);
end;
Result := TXMLPerson.CreateHosted(node as TXmlNode);
end;
schon dicht dran war. Nur wenn der Knoten nicht vorhanden war hatte er einen leeren Namespace hinzugefügt.
Was ich nicht verstanden hatte: Es gibt in der erzeugten
XML einen Standard-Namespace (finde den in der kompletten
PAS-Datei nicht, wo der gesetzt werden soll), der hier gesetzt werden muss.
Delphi-Quellcode:
var
node : IXmlNode;
const
sCurrNodeName = 'Person';
sNamespaceURI = 'http://www.test.de/versteckter/namespace/v.1.1';
begin
node := ChildNodes.FindNode(sCurrNodeName, sNamespaceURI);
if (node = nil) then
begin
//node := InternalAddChild(nil, sCurrNodeName, sNamespaceURI, -1);
node := AddChild(sCurrNodeName, sNamespaceURI);
end;
Result := TXMLPerson.CreateHosted(node as TXmlNode);
end;
Damit ginge es dann auch bei mir.
Danke für die Hilfe schonmal. Ich schau mal, ob ich das noch etwas anders schreiben kann.
LG Icocnito