Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#1

xml: Vererbung von namespaces

  Alt 8. Mär 2021, 15:22
Hallo,

mit folgender Routine hänge ich XML Daten an einen bestehenden Knoten:
Delphi-Quellcode:
procedure TBookInformation.insertXmlData(var targetNode: IXmlNode; const xmldata: String; const ns: String);
var
  xmlDoc: IXmlDocument;
  rootNode: IXmlNode;
begin
  if xmlData.IsEmpty then
    exit;
  xmlDoc := TXmlDocument.Create(nil);
  try
    xmlDoc.LoadFromXML(xmlData);
    xmlDoc.Active := true;
    xmlDoc.Options := [doNodeAutoIndent];
    rootNode := xmlDoc.DocumentElement.CloneNode(true);
    targetNode.ChildNodes.Add(rootNode);
  finally
    xmlDoc.Active := false;
  end;
end;
Wenn nun der targetNode eine namespace prefix hat, z.B. ns2,
wird dieser vererbt wenn ich einen neuen Knoten per targetNode.addChild anhänge.
Damit kann ich leider keine Struktur/keinen Zweig anhängen.
Mit targetNode.childNodes.add(..) funktioniert das, nur der prefix wird hier nicht vererbt.
Warum ist das so? Gibt es eine Lösung dazu?

Grüße
Klaus
Klaus

Geändert von Klaus01 ( 8. Mär 2021 um 20:00 Uhr)
  Mit Zitat antworten Zitat