Einzelnen Beitrag anzeigen

Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#1

Auslesen einer XML Datei und anzeigen in einem memo feld

  Alt 23. Mär 2005, 10:39
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;
Stephanie
  Mit Zitat antworten Zitat