AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Einrückungen in einer generierten XML-Datei
Thema durchsuchen
Ansicht
Themen-Optionen

Einrückungen in einer generierten XML-Datei

Ein Thema von ak1 · begonnen am 4. Feb 2004 · letzter Beitrag vom 5. Feb 2004
Antwort Antwort
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#1

Einrückungen in einer generierten XML-Datei

  Alt 4. Feb 2004, 21:37
Hallo Leute ich habe eine XML-Datei mit folgender procedure generiert:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  XMLDoc: TXMLDocument;
begin

  XMLDoc := TXMLDocument.Create(self);
  XMLDoc.Active:=True;
  XMLDoc.Encoding:= 'ISO-8859-1';
  XMLDoc.AddChild('menu');

  XMLDoc.DocumentElement.AddChild('menu_1');
  XMLDoc.DocumentElement.ChildNodes.FindNode('menu_1').Text:='menü_1';

  XMLDoc.DocumentElement.ChildNodes.FindNode('menu_1').AddChild('menu_1_1');

  XMLDoc.DocumentElement.ChildNodes.FindNode('menu_1').ChildNodes.
  FindNode('menu_1_1').Text:='menü_1_1';
  XMLDoc.DocumentElement.AddChild('menu_2');

  XMLDoc.SaveToFile('C:\testxml.xml');

end;
Jetzt sieht der XML-code aber etwas unübersichtlich aus:

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<menu><menu_1>menü_1<menu_1_1>menü_1_1</menu_1_1></menu_1><menu_2/></menu>
Wie kann ich die Einrückungen ordentlicher gestalten?

Gruß AK
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: Einrückungen in einer generierten XML-Datei

  Alt 5. Feb 2004, 08:29
Einrückungen bzw. Zeilenumbrüche sind in XML nicht nötig bzw. stellen zusätzeliche Infos dar, welche du ja nicht in's XML eingefügt hast.

Wenn Du untere XML-Datei dem IE übergibtst bekommst Du eine eingerückte Anzeige. Aber diese direkt in die XML-Datei zu codieren ist unnötige.

Zusätzlich könntest Du z.B. einen XML-Editor (statt z.B. Notepad oder den Delphi-Editor) nehmen welcher beim Einlesen entsprechende Einrückungen vornimmt.

Unter OpenXML bekommst Du auch einen alternativen XML-Parser welcher 100% in Delphi geschrieben ist (und auch unter D7 als alternativer Parser zur verfügung steht).
  Mit Zitat antworten Zitat
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#3

Re: Einrückungen in einer generierten XML-Datei

  Alt 5. Feb 2004, 10:01
@Bernhard Geyer,

schon klar aber ich hätte es eben lieber wenn ich auch in der normalen Textansicht eine ordentliche
Einrückung habe.
Die OpenXML-Komponenten sind vielleicht gut aber leider gibt es dafür keine aktuellen praktischen Beispiele die ich gefunden habe, so habe ich es bis jetzt nur geschfafft, eine XML-Datei einzulesen und auszuwerten. Aber wie ich mit OpenXML eine Datei erstellen kann, ist mir dank der fehlenden "savetofile" Funktion bis jetzt nicht klar. Wenn das mit den "normalen" XML-Komponenten ganz einfach geht und die Leute bei Open XML es nicht für nötig halten aktuelle Beispiele zu anzubieten, dann brauchen die sich nicht wundern, dass diese Komponenten so selten verwendet werden.

Weisst du wie ich in OpenXML eine XML-Datei erstelllen kann und Knoten mit Kindknoten hinzufüge?

Gruß AK
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Einrückungen in einer generierten XML-Datei

  Alt 5. Feb 2004, 10:24
http://www.delphipraxis.com/images/common/icon_df.gif klick

@Bernhard: (s. Link ins DF) Dann scheint es für den MS-XML-Parser keine Option zu geben, mit der man den XML-Code einrücken kann?
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#5

Re: Einrückungen in einer generierten XML-Datei

  Alt 5. Feb 2004, 10:37
Hi,

doch, diese Option gibt es :

Code:
xmldocument.Options:= [doNodeAutoIndent];
Damit erhält man wunderschöne Einrückungen.

Gruss lkz633
  Mit Zitat antworten Zitat
ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#6

Re: Einrückungen in einer generierten XML-Datei

  Alt 5. Feb 2004, 11:29
Zitat von lkz633:
Hi,

doch, diese Option gibt es :

Code:
xmldocument.Options:= [doNodeAutoIndent];
Damit erhält man wunderschöne Einrückungen.

Gruss lkz633
jupp klappt sehr gut...

Gruß
  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 03:20 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