Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Daten aus XML mittels XSL anzeigen => funzt nicht... (https://www.delphipraxis.net/90418-daten-aus-xml-mittels-xsl-anzeigen-%3D-funzt-nicht.html)

torud 18. Apr 2007 12:06

Re: Daten aus XML mittels XSL anzeigen => funzt nicht...
 
Danke erstmal.

Ich nehme mal an, dass doc ein XMLDocument ist, welches ich noch createn muss und dann darin das XML-File laden muss!?

Also ich habe mal folgendes versucht:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  doc:TXMLDocument;
  str_matchid:string;
begin
      doc := TXMLDocument.Create(nil);
      doc.LoadFromFile('pages\temp.xml');
      ShowMessage(doc.XML.Text);
      str_MatchID := VarToStr(doc.documentElement.getAttribute('matchid'));
      ShowMessage(str_MatchID);
      doc.Free;
end;
Ich sehe in der ersten Showmessage den XML-Dateiinhalt und anschliessend eine Fehlermeldung:

Im Projekt Project2.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: 'Format '%p' ungültig oder nicht kompatibel mit Argument'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.

Der Fehler rührt mit Sicherheit aus dieser Zeile Code:
Delphi-Quellcode:
str_MatchID := VarToStr(doc.documentElement.getAttribute('matchid'));
Er tritt auch auf, wenn ich nur

Delphi-Quellcode:
doc.documentElement.getAttribute('matchid')
aufrufe.

torud 18. Apr 2007 19:52

Re: Daten aus XML mittels XSL anzeigen => funzt nicht...
 
Ich habe es jetzt mit einer eigenen Funktion gelöst, die mir auch alles geben sollte, was ich suche. Ich hoffe, dass es nicht allzu falsch ist. Funktionieren tuts jedenfalls.

Delphi-Quellcode:
function GetAttributeValue(XMLContent,Attribute:String):String;
begin
   if pos(Attribute,XMLContent)<>0 then
     begin
       Delete(XMLContent,1,pos(Attribute,XMLContent)+length(Attribute)+1);
       if pos('"',XMLContent)<>0 then
         Delete(XMLContent,pos('"',XMLContent),length(XMLContent));
         Result:=XMLContent;
     end;
end;

marabu 18. Apr 2007 20:45

Re: Daten aus XML mittels XSL anzeigen => funzt nicht...
 
Hallo Tom,

mein Code aus Beitrag #10 bezog sich auf die Schnittstellen aus der Unit MSXML2. Wenn du die VCL-Komponente TXMLDocument einsetzen willst, dann ist eine kleine Änderung notwendig:

Delphi-Quellcode:
var
  matchid: string;
begin
  matchid := VarToStr(XmlDocument.DocumentElement.Attributes['matchid']);
end;
Gute Nacht


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
Seite 2 von 2     12   

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