AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML laden,bearbeiten,speichern,validieren (MSXML 4.0)
Thema durchsuchen
Ansicht
Themen-Optionen

XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

Ein Thema von Alaitoc · begonnen am 16. Jan 2009 · letzter Beitrag vom 30. Jan 2009
Antwort Antwort
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#1

XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 16. Jan 2009, 15:39
Tach zusammen,

ich wollte mal kurz fragen ob mir einer die Grundlegenden Sachen für den MSXML 4.0 Parser posten kann.
Einzelne Sachen hab ich zwar schon gefunden, aber wäre nochmal praktisch wenn mir jemand alles auflisten kann.
Besonders zum Thema "Validieren" hab ich zu Delphi und dem MSXML 4.0 bisher nichts sinnvolles gefunden.

Schonmal vielen Dank

PS: Ist es auch irgendwie möglich den XML Code wenn man ihn geladen hat ohne große Probleme einzufärben? Je nach Elementen? Oder müsste man sich da was eigenes schreiben?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 16. Jan 2009, 16:06
bezüglich Validieren: schau mal ins World Wide Web Consortium (W3C)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 16. Jan 2009, 16:10
Zitat von Alaitoc:
PS: Ist es auch irgendwie möglich den XML Code wenn man ihn geladen hat ohne große Probleme einzufärben? Je nach Elementen? Oder müsste man sich da was eigenes schreiben?
Du könntest SynEdit verwenden, das Syntax-Highlighting unterstützt. Ansonsten: nein.
  Mit Zitat antworten Zitat
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 19. Jan 2009, 14:45
Schonmal Danke für die Antworten, jedoch was ist nun mit Speichern,Laden und so weiter?

MfG Alaitoc
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 19. Jan 2009, 17:10
am Einfachsten so...
Delphi-Quellcode:
Var XML: TXMLDocument;
  Node: IXMLNode;

// laden
XML := TXMLDocument.Create(Self);
Try
  XML.LoadFromStream(Stream);
  XML.Active := True; // bei active ... ich glaub das war hier eventuell nimmer
                        // nötig *überleg* ... aber schaden tut's bbestrimmt auch nich
  XML.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull];

  //Node := XML.DocumentElement. ...
  ...

Finally
  XML.Free;
End;


// speichern
XML := TXMLDocument.Create(Self);
Try
  XML.Active := True;
  XML.Version := '1.0';
  XML.StandAlone := 'yes';
  XML.Encoding := 'UTF-8';
  XML.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull];
  XML.AddChild('xml');

  //Node := XML.DocumentElement. ...
  ...

  XML.SaveToStream(Stream);
Finally
  XML.Free;
End;
die XML.Options sind so gewählt, daß der XML-Text schön formatiert ist (doNodeAutoIndent) und daß es keine Exceptions beim Zugriff auf nicht existierende Nodes/Attributes gibt (doNodeAutoCreate+doAttrNull)
$2B or not $2B
  Mit Zitat antworten Zitat
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 28. Jan 2009, 15:52
Hab ein kleines Problem, eigentlich läuft nun der XML Parser soweit...jedoch sobald irgendwas an der XML Datei nicht funktioniert kann ich sie nicht laden...also wenn sie irgendeinen kleinen Fehler an der Struktur hat oder wenn sie mit dem geladenen Schema nicht übereinstimmt...

Den Ladevorgang rufe ich damit auf:

Delphi-Quellcode:
  XMLDocParser.Load(LoadFile.Dialog.FileName);
  if XMLDocParser.ParseError.ErrorCode=0 then //Falls kein Fehler vorhanden ist
  begin
    txtXMLEdit.Text:=XMLDocParser.XML;
  end
  else
  begin
  txtXMLEdit.Text:=XMLDocParser.XML;
    txtxmlerrorcode.Lines.Add('Die geladene Datei entspricht nicht dem XML-Standard');
    txtxmlerrorcode.Lines.Add(XMLDocParser.ParseError.Reason);
    ShowMessage('Die geladene Datei entspricht nicht dem XML-Standard');
    ShowMessage(XMLDocParser.ParseError.Reason);
  end;
Also wie kann ich das ganze hinkriegen

Mfg Alaitoc
  Mit Zitat antworten Zitat
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: XML laden,bearbeiten,speichern,validieren (MSXML 4.0)

  Alt 30. Jan 2009, 17:01
Habs hinbekommen indem ich zweimal geladen habe, falls ein Fehler erkannt wurde...und ich beim
zweiten Mal dann ValidateOnParse deaktiviert habe.
Etwas unschön, aber funktioniert.

MfG Alaitoc
  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 06:21 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