Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   XML Knoten auslesen (https://www.delphipraxis.net/154086-xml-knoten-auslesen.html)

GericasS 27. Aug 2010 07:56

XML Knoten auslesen
 
Guten Morgen,

ich versuche einen XML Knoten auszulesen mit folgendem Code :

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
path: string;
myFirstXML : IXMLDocument ;
i : word ;
teil : IXMLNode;
begin
  path := Edit1.Text;
  GetFilesInDirectory(path,'*.xml',ListBox1.Items,True);
  myFirstXML := newXMLDocument;
  myFirstXML.LoadFromFile(ListBox1.Items.Strings[0]);
  MyFirstXML.Active := true;
  Memo1.Lines.Clear;
  Memo1.Lines.Add(MyFirstXML.DocumentElement.ChildNodes['Metadaten'].ChildNodes['Data name="Dateiname"'].Text);
end;

Code:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Verschlagwortung>
   <Dokumentversion>1.0</Dokumentversion>
   <Metadaten>
      <Data name="Hersteller">Software</Data>
      <Data name="Programm">Lohn plus</Data>
      <Data name="Programmversion">2010.2</Data>
      <Data name="Dateiname">650_00001_000_000011_000000_20100826_150751_Druck Personalbogen.PDF</Data>
      <Data name="Auswertung">Druck</Data>
      <Data name="ID-Nr">4</Data>
   </Metadaten>
Ich bekomme immer wieder die Fehlermeldung :

Erste Gelegenheit für Exception bei $75D89617. Exception-Klasse EOleException mit Meldung
'Dieser Name darf nicht das Zeichen ' ' enthalten:

Data--> <--name="Dateiname"'.
Prozess Project1.exe (3792)

Also darf die Datei kein Leerzeichen enthalten aber es ist nunmal so vorgegeben was kann ich da machen ?

Mfg,

GericasS

stahli 27. Aug 2010 08:51

AW: XML Knoten auslesen
 
Dein Knoten heißt "Data".
Name ist ein Attribut.
Ein Knotenname kann kein Leerzeichen enthalten.

himitsu 27. Aug 2010 09:08

AW: XML Knoten auslesen
 
Der Grund ist nicht die XML, sondern, wie schon gesagt wurde, deine Abfrage.
Delphi-Quellcode:
ChildNodes['Data name="Dateiname"']
.

Schau mal auf Wikipedia.de nach XPath

PS: Sei froh, daß die dieser Fehler so mitgeteilt wurde und nicht daß diese Lib einfach nur sagt "nee, soeinen Node gibt es nicht" und dir ein NIL eingegenwirft.

PSS: Wa passiert eigentlich, wenn es GetFilesInDirectory keine Datei findet und du dennoch auf die 1. (0) zugreifen willst?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz