Hallo,
der Titel sagts schon,
ich soll eine bestehende Default.xml als neue Ziel.XML speichern und dabei einige Werte anpassen bzw. es fehlen Nodes die dann auch erzeugt werden müssen. Da das
XML etwas größer ist wollte ich jetzt nicht jeden Knoten per Hand anlegen.
Zum auslesen verwende ich den TXPathhelper den ich hier im Forum bekommen habe, funktioniert soweit ganz gut.
Mein Problem: Wie erzeuge ich automatisch Nodes die in meiner bisherigen
XML Struktur nicht existieren
Aufruf stell ich mir so vor
Delphi-Quellcode:
var neuerNode:IXmlNode;
.
.
neuerNode:=TXPathhelper.selectnode('/ersterNode/nocheiner/nasowas');
if neuerNode=Nil then neuernode:=TXPathHelper.CreateNodepath('/ersterNode/nocheiner/nasowas');
wie realisier ich sowas?
Der XPathhelper den ich benutze enthält folgenden Code
Delphi-Quellcode:
class function TXPathHelper.SelectNode(xnRoot: IXmlNode; const nodePath: WideString): IXmlNode;
var
intfSelect : IDomNodeSelect;
dnResult : IDomNode;
intfDocAccess : IXmlDocumentAccess;
doc: TXmlDocument;
begin
Result := nil;
if
not Assigned(xnRoot)
or not Supports(xnRoot.DOMNode, IDomNodeSelect, intfSelect)
then
Exit;
dnResult := intfSelect.selectNode(nodePath);
if Assigned(dnResult) then begin
if Supports(xnRoot.OwnerDocument, IXmlDocumentAccess, intfDocAccess) then
doc := intfDocAccess.DocumentObject
else
doc := nil;
Result := TXmlNode.Create(dnResult, nil, doc);
end;
end;