AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wert in XML finden?

Ein Thema von LPascal · begonnen am 23. Okt 2020 · letzter Beitrag vom 13. Nov 2020
Antwort Antwort
Klaus01

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

AW: Wert in XML finden?

  Alt 26. Okt 2020, 08:56
.. 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
Klaus
  Mit Zitat antworten Zitat
LPascal

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

AW: Wert in XML finden?

  Alt 26. Okt 2020, 09:12
.. 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
Ja, da gibt es entsprechende Tags dafür, ich habe sie nur weggelassen, da sonst mein XML-Beispiel zu lange wird. Hast Du vielleicht einen Tipp für mich wie das gehen könnte? Also erst für die Tags Anrede, Vor- u. Nachname sowie Alter, den Rest verarbeite ich selber wenn ich mal die Logik verstanden habe.
  Mit Zitat antworten Zitat
Klaus01

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

AW: Wert in XML finden?

  Alt 26. Okt 2020, 09:20
.. nun da ich Deine XML Library nicht kenne..

Im Prinzip so:
Du erstellst Dir einen neuen Knoten <Personen> diese fügst Du weiter Unterknoten hinzu.
Den <Personen>-Knoten kannst Du dann dem Knoten <Daten> hinzufügen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
LPascal

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

AW: Wert in XML finden?

  Alt 26. Okt 2020, 17:51
.. nun da ich Deine XML Library nicht kenne..

Im Prinzip so:
Du erstellst Dir einen neuen Knoten <Personen> diese fügst Du weiter Unterknoten hinzu.
Den <Personen>-Knoten kannst Du dann dem Knoten <Daten> hinzufügen.

Grüße
Klaus
Ja, den ersten Teil habe ich geschafft, siehe Code. Wie kann ich jetzt am besten den <Personen>-Knoten dem Knoten <Daten> hinfügen? Gibt es vielleicht irgendwo Beispiele?

Delphi-Quellcode:
    Doc := TXMLDocument.Create;
    RootNode := Doc.CreateElement('Personen');
    Doc.Appendchild(RootNode);

    RootNode:= Doc.DocumentElement;

    ParentNode := Doc.CreateElement('Anrede');
    VarElemen := Doc.CreateTextNode('Herr');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    ParentNode := Doc.CreateElement('Vorname');
    VarElemen := Doc.CreateTextNode('Michael');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    ParentNode := Doc.CreateElement('Nachname');
    VarElemen := Doc.CreateTextNode('Lücker');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    ParentNode := Doc.CreateElement('Alter');
    VarElemen := Doc.CreateTextNode('19');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    WriteXMLFile(Doc, 'file.xml');

Geändert von LPascal (26. Okt 2020 um 18:08 Uhr)
  Mit Zitat antworten Zitat
LPascal

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

AW: Wert in XML finden?

  Alt 26. Okt 2020, 18:27
Habe noch das hier gefunden:
Delphi-Quellcode:
NovoNo := XMLDoc.CreateElement('item');
TDOMElement(NovoNo).SetAttribute('nome', 'Item');
TDOMElement(NovoNo).SetAttribute('arquivo', 'Arquivo');
XMLDoc.DocumentElement.ChildNodes.Item[Posicao].AppendChild(NovoNo);
Die Frage ist nur, an welche Stelle (Item[Posicao]) setze ich meinen <Personen>-Knoten ein?
  Mit Zitat antworten Zitat
Klaus01

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

AW: Wert in XML finden?

  Alt 27. Okt 2020, 06:49
vielleicht so:
Delphi-Quellcode:
 DatenNode := Doc.DocumentElement.FindNode('Daten');
 DatenNode.AppendChild(<neuer PersonenKnoten>);
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
LPascal

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

AW: Wert in XML finden?

  Alt 27. Okt 2020, 08:58
Ok... müsste also so gehen, aber irgendwie mache ich noch was falsch, und ich verstehe nicht was.

Delphi-Quellcode:
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');
    Doc.Appendchild(RootNode);

    RootNode:= Doc.DocumentElement;

    ParentNode := Doc.CreateElement('Anrede');
    VarElemen := Doc.CreateTextNode('Herr');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    ParentNode := Doc.CreateElement('Vorname');
    VarElemen := Doc.CreateTextNode('Michael');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    ParentNode := Doc.CreateElement('Nachname');
    VarElemen := Doc.CreateTextNode('Lücker');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);

    ParentNode := Doc.CreateElement('Alter');
    VarElemen := Doc.CreateTextNode('19');
    ParentNode.Appendchild(VarElemen);
    RootNode.AppendChild(ParentNode);


    DatenNode := Doc.DocumentElement.FindNode('Daten');
    DatenNode.AppendChild(RootNode);


    WriteXMLFile(Doc, 'MusterNeu.xml');
  finally
    Doc.Free;
  end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz