Thema: FreePascal Wert in XML finden?

Einzelnen Beitrag anzeigen

LPascal

Registriert seit: 23. Okt 2020
33 Beiträge
 
#23

AW: Wert in XML finden?

  Alt 27. Okt 2020, 16:14
Ich hab's jetzt so gelöst:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  Doc: TXMLDocument;
  RootNode, ParentNode, DatenNode, VarElemen, ElementNode, ItemNode, TextNode: TDOMNode;
begin
  try
    ReadXMLFile(Doc, 'Muster.xml');

    //Doc := TXMLDocument.Create;
    //RootNode := Doc.CreateElement('Daten2');
    //Doc.Appendchild(RootNode);
    //RootNode:= Doc.DocumentElement;

    ElementNode := Doc.CreateElement('Personen');

    ItemNode:=Doc.CreateElement('Anrede');
    TextNode:=Doc.CreateTextNode('Herr');
    ItemNode.AppendChild(TextNode);
    ElementNode.AppendChild(ItemNode);

    ItemNode:=Doc.CreateElement('Vorname');
    TextNode:=Doc.CreateTextNode('Tim');
    ItemNode.AppendChild(TextNode);
    ElementNode.AppendChild(ItemNode);

    ItemNode:=Doc.CreateElement('Alter');
    TextNode:=Doc.CreateTextNode('19');
    ItemNode.AppendChild(TextNode);
    ElementNode.AppendChild(ItemNode);

    //RootNode.AppendChild(ElementNode);

    DatenNode := Doc.DocumentElement.FindNode('Header');
    DatenNode.AppendChild(ElementNode);

    WriteXMLFile(Doc, 'MusterNeu2.xml')
  finally
    Doc.Free;
  end;
end;
Der Nachteil ist nur, dass für den <Personen>-Knoten es keinen <Root>-Knoten gibt, man kann somit nicht mehrere Personen anlegen, des weiteren erscheint die neue Person im <Header>-Knoten statt <Daten>-Konoten.
Miniaturansicht angehängter Grafiken
screen.png  
  Mit Zitat antworten Zitat