Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
12. Nov 2020
funktionieren die oben beschriebenen Wege nicht.
Ich habe leider kein Lazarus installiert.
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
12. Nov 2020
DatenNode := Doc.DocumentElement.FindNode('PDB').FindNode('Header');
DatenNode.RemoveChild(DatenNode.FindNode('Daten'));
DatenNode.RemoveChild.FindNode('Daten');
wie gesagt ich kenne Deine Library nicht.
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
12. Nov 2020
DatenNode := Doc.DocumentElement.FindNode('PDB').FindNode('Header');
DatenNode.RemoveChild('Daten');
Wenn Du den Knotennamen angibst?
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
30. Okt 2020
procedure TForm1.Button3Click(Sender: TObject);
var
Doc: TXMLDocument;
RootNode, ParentNode, DatenNode, VarElemen, ElementNode, ItemNode, TextNode: TDOMNode;
begin
try
ReadXMLFile(Doc, 'Muster.xml');
// tue etwas mit dem XMLDoc
WriteXMLFile(Doc, 'MusterNeu2.xml')
finally
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
ElementNode := Doc.CreateElement('Personen');
erstellt doch bei jedem Aufruf einem neuen Knoten oder?
Damit wird der alte nicht überschrieben.
Ich würde das ganze anfügen in eine Methode mit entsprechenden Parametern auslagern.
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
DatenNode := Doc.DocumentElement.FindNode('Header').FindNode('Daten');
DatenNode.AppendChild(ElementNode);
macht das obige einen Unterschied?
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
Guten Abend,
das Teilmacht was Du ihm sagst
DatenNode := Doc.DocumentElement.FindNode('Header');
DatenNode.AppendChild(ElementNode);
Demnach wird der neue <Personen> Knoten an den Header angehängt.
Der gemeinsame Aufhänger für die Personen ist aber der <Daten> Knoten.
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
.. kommentiere doch mal " Doc.Appendchild(RootNode); " aus.
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
.. wann kommt die Fehlermeldung (bitte mal mit F8 durch den Code gehen)?
Das Tutorial https://wiki.freepascal.org/XML_Tutorial kenst Du wahrscheinlich schon -oder?
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
procedure TForm1.Button3Click(Sender: TObject);
var
Doc: TXMLDocument;
RootNode, ParentNode, DatenNode, VarElemen: TDOMNode;
begin
try
ReadXMLFile(Doc, 'Muster.xml');
//Doc := TXMLDocument.Create;
RootNode := Doc.CreateElement('Personen');
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
27. Okt 2020
vielleicht so:
DatenNode := Doc.DocumentElement.FindNode('Daten');
DatenNode.AppendChild(<neuer PersonenKnoten>);
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
26. Okt 2020
.. ich denke kannst Du schon da hineinschreiben - nur
Wie willst Du die Bezüge zum Dr. zu den Praktikanten hineinbringen?
Da fehlt meiner Meinung nach ein Tag bei den Praktikaten - der darauf hindeutet wer für ihn/sie zuständig/verantwortlich ist.
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
24. Okt 2020
.. Du itterierst über den Tag <Anrede>
ReadXMLFile(Doc, 'test.XML');
NList := Doc.GetElementsByTagName('Personen');
if Assigned(NList) then
begin
for i := 0 to NList.Count - 1 do
begin
if NList.Item.FindNode('Anrede').TextContent = 'Dr.' then
Forum: Object-Pascal / Delphi-Language
FreePascal
by Klaus01,
24. Okt 2020
.. wieso iterierst Du nicht durch den Tag <Personen> und fragst dann die <Anrede> ab. Ist die Anrede Dr. dann kannst Du auch noch das Alter abfragen.
Grüsse Klaus