Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Auslesen einer XML Datei und anzeigen in einem memo feld (https://www.delphipraxis.net/42739-auslesen-einer-xml-datei-und-anzeigen-einem-memo-feld.html)

Tigermoon 23. Mär 2005 09:39


Auslesen einer XML Datei und anzeigen in einem memo feld
 
Hallo

ich möchte eine xml datei auslesen, aber nur bestimmte stellen.
awa mein porgramm macht absolut nut müll

1. frage: was genau muss ich oben includieren das xml funktioniert hab xmldoc und xmlutil schon versucht

2. meine datei sieht folgendermassen aus

XML-Code:
<WOCHENBERICHT>
<KW>12</KW>
<JAHR>2005</JAHR>
<EINTRAEGE>
<MONTAG>Hallo
Peter</MONTAG>
<DIENSTAG></DIENSTAG>
<MITTWOCH></MITTWOCH>
<DONNERSTAG></DONNERSTAG>
<FREITAG></FREITAG>
</EINTRAEGE>
</WOCHENBERICHT>
was ich brauche ist bloß montag dienstag mittwoch und so.....
und das soll in ein memofeld eingetragen werden
und es kann auch vorkommen das die einträge (bsp in montag) in mehreren reihen stehen

würde mich freuen wenn mir jemand helfen könnte

das ist mein bisjetztiger ansatz
awa das funzt alles ned wirklich weil er IXMLNode ned kennt

Delphi-Quellcode:
procedure datei_auslesen_und_anzeigen;
var inhalt:string;
  StartItemNode : IXMLNode;
  ANode : IXMLNode;
begin

  { Auswahl der TCombobox auslesen }
  kalender_wochen_auswahl := Hauptmenu.kalender_woche.Items.Strings[Hauptmenu.kalender_woche.ItemIndex];
  jahres_auswahl := Hauptmenu.jahr_auswahl.Items.Strings[Hauptmenu.jahr_auswahl.ItemIndex];

  { Dateinamen festlegen zum Speichern der Datei}
  dateiname_laden := 'wochenbericht_' + kalender_wochen_auswahl + '_' + jahres_auswahl + '.xml';

  if(FileExists(dateiname_laden))
  then begin

    //points to local XML file in "original" code
    XMLDoc.FileName := dateiname_laden;
    XMLDoc.Active:=True;

    StartItemNode := XMLDoc.DocumentElement.ChildNodes.
                  First.ChildNodes.FindNode('item');

    ANode := StartItemNode;
    repeat

      {
      STitle := ANode.ChildNodes['title'].Text;
      sLink := ANode.ChildNodes['link'].Text;
      sDesc := ANode.ChildNodes['description'].Text;
      }

        Hauptmenu.montag_text.Text := ANode.ChildNodes['MONTAG'].Text;
        Hauptmenu.dienstag_text.Text := ANode.ChildNodes['DIENSTAG'].Text;
        Hauptmenu.mittwoch_text.Text := ANode.ChildNodes['MITTWOCH'].Text;
        Hauptmenu.donnerstag_text.Text := ANode.ChildNodes['DONNERSTAG'].Text;
        Hauptmenu.freitag_text.Text := ANode.ChildNodes['FREITAG'].Text;



      //add to list view
      with LV.Items.Add do
      begin


        Caption := STitle;
        SubItems.Add(sLink);
        SubItems.Add(sDesc)

      end;

      ANode := ANode.NextSibling;
    until ANode = nil;

  end
  else
    Hauptmenu.montag_text.Text := '';
    Hauptmenu.dienstag_text.Text := '';
    Hauptmenu.mittwoch_text.Text := '';
    Hauptmenu.donnerstag_text.Text := '';
    Hauptmenu.freitag_text.Text := '';
end;

tobu 23. Mär 2005 13:29

Re: Auslesen einer XML Datei und anzeigen in einem memo feld
 
Hallo probier doch mal was passiert wenn du XMLIntf einbindest. Wenn du in der Hilfe nachschaust siehst du das IXMLNode zu Unit XMLIntf gehört. Kann sein dass du die folgenden Units auch noch brauchst: xmldom, msxmldom, XMLDoc. Je nach dem was du vorhast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 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