AGB  ·  Datenschutz  ·  Impressum  







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

XML für Anfänger

Ein Thema von Mantrid · begonnen am 6. Jun 2022 · letzter Beitrag vom 19. Jun 2022
Antwort Antwort
Mantrid

Registriert seit: 6. Jun 2022
Ort: Deutschland
25 Beiträge
 
FreePascal / Lazarus
 
#1

XML für Anfänger

  Alt 6. Jun 2022, 16:36
Hallo,

gibt es für Anfänger eine Anleitung, wie man mit Delphi eine XML Datei erstellt, bearbeiten und auslesen kann?

Irgendwie finde ich da nichts, was für Anfänger geeignet ist.

Ich programmiere nur Hobbymässig und habe da nicht so viel Erfahrung.

Mein Ziel ist es, mit einer XML Datei ein paar Daten zu speichern und wieder auszulesen.

Danke im voraus.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#2

AW: XML für Anfänger

  Alt 6. Jun 2022, 19:23
1. Hast du die Demos mit installiert?
Bei den RTL Demos ist sicher was dabei.

2. Das IXMLDocument Interface ist ein Ansatzpunkt.
Mal die Hilfe dazu lesen, evtl. ist da auch das
Demo Programm verlinkt.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: XML für Anfänger

  Alt 6. Jun 2022, 20:44
Als Anfänger könntest Du auch mit JSON starten, das ist etwas übersichtlicher als XML und für viele Dinge ziemlich ausreichend.
Gruß, Jo
  Mit Zitat antworten Zitat
Mantrid

Registriert seit: 6. Jun 2022
Ort: Deutschland
25 Beiträge
 
FreePascal / Lazarus
 
#4

AW: XML für Anfänger

  Alt 6. Jun 2022, 22:07
Als Anfänger könntest Du auch mit JSON starten, das ist etwas übersichtlicher als XML und für viele Dinge ziemlich ausreichend.
Danke für den Hinweis.

Ich habe was über GNU Cash gelesen. Das speichert mit XML Dateien und das hat mein Interesse geweckt. Ich will einfach mal sehen, wieviel Aufwand das ist und ob man XML Dateien gut zum speichern verwenden kann.


Zitat:
1. Hast du die Demos mit installiert?
Bei den RTL Demos ist sicher was dabei.

2. Das IXMLDocument Interface ist ein Ansatzpunkt.
Mal die Hilfe dazu lesen, evtl. ist da auch das
Demo Programm verlinkt.

Grüße
TurboMagic
Danke für die Hinweise IXMLDocument werde ich mir mal durchlesen. Die Beispiele habe ich bisher nicht verwendet. Finde ich die als neues Projekt oder in einem eigenen Verzeichnis. Beim installieren habe ich bis auf IOS und Android alles ausgewählt.

Gruß
Mantrid
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: XML für Anfänger

  Alt 7. Jun 2022, 05:49
https://docwiki.embarcadero.com/Code...e_case_(Delphi)
  Mit Zitat antworten Zitat
Mantrid

Registriert seit: 6. Jun 2022
Ort: Deutschland
25 Beiträge
 
FreePascal / Lazarus
 
#6

AW: XML für Anfänger

  Alt 8. Jun 2022, 10:11
Danke.
  Mit Zitat antworten Zitat
Mantrid

Registriert seit: 6. Jun 2022
Ort: Deutschland
25 Beiträge
 
FreePascal / Lazarus
 
#7

AW: XML für Anfänger

  Alt 19. Jun 2022, 02:01
Mit XML komme ich mit dem Beispiel nicht so klar.

Die Ausgabe ist in zwei Zeilen und ich habe hier noch Fragen.

Mein Source code:
Code:
function createXML1: string;
var
   xml1 : string;
   xml2 : ixmldocument;
   xmlnode, nodetext, nodedata : ixmlnode;

begin
  xml1 := '';
  xml2 := Txmldocument.create(nil);
  xml2.Active := true;
  xml2.Encoding := 'UTF-16';
  xml2.Version := '1.0';
  //xml2.StandAlone :='yes';   //Keine Ahnung, ob ich das brauche oder nicht.


  { Define document content. }

  XML2.DocumentElement := XML2.CreateNode('ThisIsTheDocumentElement', ntElement, '');

  XML2.DocumentElement.Attributes['attrName'] := 'attrValue';
  XMLNode := XML2.DocumentElement.AddChild('ThisElementHasText', -1);
  XMLNode.Text := 'Inner text.';

  NodeData := XML2.CreateNode('any characters here', ntCData, '');
  XML2.DocumentElement.ChildNodes.Add(NodeData);

  NodeText := XML2.CreateNode('This is a text node.', ntText, '');
  XML2.DocumentElement.ChildNodes.Add(NodeText);

  NodeText := XML2.CreateNode('This is a text node 2.', ntText, '');
  XML2.DocumentElement.ChildNodes.Add(NodeText);

  XMLNode := XML2.DocumentElement.AddChild('ThisElementHasText-2', -1);

  xml1 := xml2.xml.Text;
  result := xml1;
end;
Die entsprechende Ausgabe

Zitat:
<?xml version="1.0" encoding="UTF-16"?>
<ThisIsTheDocumentElement attrName="attrValue"><ThisElementHasText>Inner text.</ThisElementHasText><![CDATA[any characters here]]>This is a text node.This is a text node 2.<ThisElementHasText-2/></ThisIsTheDocumentElement>
Meine Fragen:
Wieso ist der Inhalt in einer Zeile und nicht wie bei anderen XML Dateien in mehreren Zeilen?

Kann man mehrere Elemente in eine XML Datei einfügen?

Ich versuche eine XML wie folgt aufzubauen:

Zitat:
<?xml version="1.0" encoding="UTF-16"?>
<Element-1 attrName="Attribut-1">
<ThisElementHasText>Inner text.</ThisElementHasText>
<![CDATA[any characters here]]>This is a text node.This is a text node 2.
<ThisElementHasText-2/></ThisIsTheDocumentElement>
</Element-1>
<Element-2>
<Content-1>Irgendein Inhalt 1.</Content-1>
<Content-2>Irgendein Inhalt 2.</Content-2>
</Element-2>
Ziel ist es, dass ich mir eine kleine Adressdatenbank auf XML erzeuge.
Elemente sind die Adressen
Content die Daten wie Name, Anschrift, etc.
Attribute sollten angeben Handy Nr., Festnetz, etc.

Ist da ein Gedankenfehler von mir und ich muss das anders aufbauen oder habe ich was komplett falsch gemacht?
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#8

AW: XML für Anfänger

  Alt 19. Jun 2022, 10:14
Hmm..

Wieso kommst Du darauf, das XML mehrere Zeilen haben muss?

Sauberes XML hat nur eine lange Zeile ohne Zeilenumbrüche oder unnötige Leerzeichen welche das TXT Dokument nur aufblähen.

Die Darstellung über mehrere Zeilen ist nur ein Hilfsmittel für Menschen (für die XML eigentlich nicht direkt bestimmt ist) oder wird durch das Betrachtungstool (Browser/Viewer...) so dargestellt, damit es für Menschen lesbarer wird.

Somit ist die eine Zeile richtiger!
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
310 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: XML für Anfänger

  Alt 19. Jun 2022, 12:10
Wieso ist der Inhalt in einer Zeile und nicht wie bei anderen XML Dateien in mehreren Zeilen?
https://docwiki.embarcadero.com/Libr....FormatXMLData
Chris
  Mit Zitat antworten Zitat
Mantrid

Registriert seit: 6. Jun 2022
Ort: Deutschland
25 Beiträge
 
FreePascal / Lazarus
 
#10

AW: XML für Anfänger

  Alt 19. Jun 2022, 13:38
Hmm..

Wieso kommst Du darauf, das XML mehrere Zeilen haben muss?

Sauberes XML hat nur eine lange Zeile ohne Zeilenumbrüche oder unnötige Leerzeichen welche das TXT Dokument nur aufblähen.

Die Darstellung über mehrere Zeilen ist nur ein Hilfsmittel für Menschen (für die XML eigentlich nicht direkt bestimmt ist) oder wird durch das Betrachtungstool (Browser/Viewer...) so dargestellt, damit es für Menschen lesbarer wird.

Somit ist die eine Zeile richtiger!
Vom technischen Standpunkt verständlich. Da aber die Konfigurations XML Dateien und auch die XRechnung XML in mehreren Zeilen sind wollte ich wissen, was da nötig ist.
  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 19:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz