AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML "String Wurst" formatieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML "String Wurst" formatieren

Ein Thema von t4rI · begonnen am 28. Jul 2009 · letzter Beitrag vom 29. Jul 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#11

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 11:34
hätte auch noch via Hier im Forum suchenhimXML sowas bieten können ... via Standardeinstellung sieht es ja so aus diese Formatierungen werden beim Auslesen ignoriert
Delphi-Quellcode:
xml: TXMLFile;

xml := TXMLFile.Create;
xml.LoadFromFile(...);
xml.SaveToFile(...);
xml.Free;
aber hierzu
Delphi-Quellcode:
xml.Text := AnsiReplaceText(xml.Text,'<',#13#10 + '<');
xml.Text := AnsiReplaceText(xml.Text,#13#10 + '</','</');
xml.Text := AnsiReplaceText(xml.Text,'></','>' + #13#10 + '</');
die Zeile 1 entspricht der Zeile 2, also werden bei </ 2 Leerzeilen davor eingefügt

und die dritte Zeile macht nie was, da Zeile 1&2 ebenfalls diesem Muster entsprechen, demnach schon Umbrüche eingefügt sind und es keine ></ mehr gibt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
t4rI

Registriert seit: 22. Jul 2009
Ort: Ludwigshafen
13 Beiträge
 
#12

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 12:58
@ Luckie
Ja du hast schon Recht mit dem was du sagst/schreibst!
Doch ich muss die Dateien auch so auslesen können, da ich auch gerade ein Programm schreibe um XML's zu erstellen und ich schauen möchte ob das
Programm alles Richtig macht!
Das ist ein wenig umständlich wenn die Formatierung nicht stimmt.

Aber nochmal vielen Dank für die schnelle Hilfe!!!
Gruß
t4rI
Alle Rechtschreibfehler sind gewollt
und zusammengerechnet ergeben sie die Formel, wie man Schlümpfe in gold verwandelt!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 13:00
Zitat von t4rI:
Doch ich muss die Dateien auch so auslesen können, da ich auch gerade ein Programm schreibe um XML's zu erstellen und ich schauen möchte ob das
Programm alles Richtig macht!
Das ist ein wenig umständlich wenn die Formatierung nicht stimmt.
Dann zie die Datei doch auf den IE oder Firefox. Der wird dir schon melden ob das XML passt oder nicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Kalfany

Registriert seit: 28. Feb 2008
Ort: München
153 Beiträge
 
Delphi 2007 Professional
 
#14

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 13:06
Also wenns nicht gleich ein eigenes Programm sein soll, Notepad++ kann das auch. Dazu müssen nur die Notepad++ Erweiterungen installiert sein.

TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML


@Luckie
Manchmal möchte man aber etwas an der Datei etwas von Hand ändern, du hast sicher auch schon mal die Config-Datei von einem Programm angepasst (egal ob ini oder xml) ... gäb jetzt viele Gründe ...

auch sind solche XML-Dateien mehr als unschön (und die paar Whitespaces machen eine XML-Datei auch nicht mehr fett ) denn manche Parser haben ein Problem wenn eine 5MB XML-Datei aus nur einer Zeile besteht.
Miniaturansicht angehängter Grafiken
zwischenablage02_188.jpg  
  Mit Zitat antworten Zitat
t4rI

Registriert seit: 22. Jul 2009
Ort: Ludwigshafen
13 Beiträge
 
#15

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 13:12
@ Bernhard

Genau das was Kalfany geschrieben hat war das Problem was ich hatte!
Natürlich kann ich mit IE oder Firefox die XML öffnen, die mir dann auch schön als Tree wiedergegeben wird, doch kann ich diese dann auch bearbeiten ? ^^

Gruß
t4rI
Alle Rechtschreibfehler sind gewollt
und zusammengerechnet ergeben sie die Formel, wie man Schlümpfe in gold verwandelt!
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#16

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 14:10
Zitat von Luckie:
Mal was anderes. Wozu der Aufwand? XML-dateien sind eiegntlich nicht dafür gedacht von Menschen gelesen und bearbeitet zu werden. Sie sind ursprünglich dazu gedacht gewesen, um daten zwischen Programmen austauschen zu können. Und dem Programm ist es egal, wie die XML-Datei formatiert ist.
Die XML Spezifikation läßt eigentlich eher den Schluss zu, dass XML auch gerade die nichtmaschinelle Leserschaft anspricht: ein XML-Dokument besteht aus Textzeichen, im einfachsten Fall ASCII, und ist damit menschenlesbar – Binärdaten enthält es per Definition nicht.

Viele Konfigurationsdateien für Anwendungen werden im XML Format bereitgestellt, was die Validierung erleichtert, aber editiert werden sie aber nicht mit darauf zugeschnittenen Editoren. Das ist eher die Ausnahme und nur bei sehr weit verbreiteten Formaten gängig, wie z.B. Deploymentdeskriptoren oder Loggerkonfigurationsdateien.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 14:41
Zitat von mjustin:
aber editiert werden sie aber nicht mit darauf zugeschnittenen Editoren.
Nein, aber mit dem Programm selber, was sie erstellt bzw. ausliest. Wenn ein Programm seine Konfiguration in XML-Dateien speichert, dann ist das Programm selber der Editor und Leser/Auswerter. Und wenn ich gucken will, ob das so stimmt, was mein programm schreibt, kann ich die Datei im Browser öffnen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#18

Re: XML "String Wurst" formatieren

  Alt 28. Jul 2009, 16:01
Zitat von Luckie:
Nein, aber mit dem Programm selber, was sie erstellt bzw. ausliest. Wenn ein Programm seine Konfiguration in XML-Dateien speichert, dann ist das Programm selber der Editor und Leser/Auswerter. Und wenn ich gucken will, ob das so stimmt, was mein programm schreibt, kann ich die Datei im Browser öffnen.
Naja nicht ganz, wenn z.B. die DTD weit und breit nicht verfügbar ist, dan haben Browser schon ein Problem.
Zitat von Luckie:
Sie sind ursprünglich dazu gedacht gewesen, um daten zwischen Programmen austauschen zu können.
Und da ist's kein Fehler in die XML-Datei reinschauen zu können.

Gruß
K-H
  Mit Zitat antworten Zitat
t4rI

Registriert seit: 22. Jul 2009
Ort: Ludwigshafen
13 Beiträge
 
#19

Re: XML "String Wurst" formatieren

  Alt 29. Jul 2009, 08:32
Eine weitere Frage wäre ....
wie bekommt man die "String Wurst" wieder hin um es für andere wieder schwer leserlich zu machen ^^
ich denke da setzt ich mich jetzt mal dran

Gruß
t4rI
Alle Rechtschreibfehler sind gewollt
und zusammengerechnet ergeben sie die Formel, wie man Schlümpfe in gold verwandelt!
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#20

Re: XML "String Wurst" formatieren

  Alt 29. Jul 2009, 09:19
Zitat von himitsu:
Delphi-Quellcode:
xml.Text := AnsiReplaceText(xml.Text,'<',#13#10 + '<');
xml.Text := AnsiReplaceText(xml.Text,#13#10 + '</','</');
xml.Text := AnsiReplaceText(xml.Text,'></','>' + #13#10 + '</');
die Zeile 1 entspricht der Zeile 2, also werden bei </ 2 Leerzeilen davor eingefügt

und die dritte Zeile macht nie was, da Zeile 1&2 ebenfalls diesem Muster entsprechen, demnach schon Umbrüche eingefügt sind und es keine ></ mehr gibt.
Wieso:
Die erste Zeile macht aus < Zeilenumbruch plus <.
Die zweite Zeile macht aus Zeilenumbruch plus </ ein </, entfernt also einen von </ gefolgten Zeilenumbruch.
Danach kann es daher wieder ein ></ geben, was in der dritten Zeile zu einem > plus Zeilenumbruch plus </ wird.

Zitat von t4rI:
Eine weitere Frage wäre ....
wie bekommt man die "String Wurst" wieder hin um es für andere wieder schwer leserlich zu machen ^^
Schmeiß doch alle Zeilenumbrüche raus:
xml.Text := AnsiReplaceText(xml.Text,#13#10,''); @Luckie
Bei fremden XML-Dateien finde ich es zuweilen durchaus sinnvoll und angenehm, sie mal im Editor richtig lesen zu können, zumal, wenn ich fehlerhafte XML-Dateien bekomme und sie händisch oder per Programm korrigieren muss.
Im Browser bekomme ich nur korrekte Dateien geöffnet, bei fehlerhaften wird ein Hinweis auf die Fehlerstelle gegeben, aber korrigieren muss man die Fehler dann in der "Wurst".
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 11:58 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