Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Version aus einer XML-Datei auslesen?! (https://www.delphipraxis.net/3566-version-aus-einer-xml-datei-auslesen.html)

f.r.e.s.h.d 19. Mär 2003 09:27


Version aus einer XML-Datei auslesen?!
 
Wie kann ich aus einer XML-Datei, eine Version auslesen?

Hansa 19. Mär 2003 09:30

Was für eine Version ? :shock: Das ist doch bloß eine Textdatei. Da wirst Du wohl mit pos oder so etwas suchen.

Chewie 19. Mär 2003 10:13

Ich nehmen an, er meint die Versionsangabe im Header. Da solltest du mit Pos und Copy arbeiten.

Spida 24. Mär 2003 15:57

Parse das file mit dem Parser von http://www.destructor.de/xmlparser/index.htm, der stellt alle Events zur verfügung die du brauchst.

(SAX-basierter Parser, erzeugt immer, wenn er auf ein öffnendesTag/Text/schliessendesTag/... stösst ein Event)

f.r.e.s.h.d 1. Apr 2003 07:59

Hat jemand Erfahrung mit diesem Parser? Ich habe mir den runtergeladen und versuche mit ihm zu arbeiten, aber das bekomme ich nicht hin?!
Über Hilfe wäre ich sehr dankbar! :)

f.r.e.s.h.d 1. Apr 2003 08:01

Ach so, ich möchte übrigens einen Eintrag auslesen....

Z.B.:

<rpt:Name><rpt:VorName>MeinenNamen</rpt:VorName></rpt:Name>

Wie lese ich hier z.B. MeinenNamen aus???

f.r.e.s.h.d 1. Apr 2003 11:16

Hat vielleicht jemand sonst einen anderen Lösungsansatz???

Ich will "nur" dieses aus einer XML-Datei lesen könnnen!


<rpt:Name><rpt:VorName>MeinenNamen</rpt:VorName></rpt:Name>


Wie lese ich hier z.B. MeinenNamen aus???

Spida 1. Apr 2003 11:45

procedure ReadXML(XMLInput:String);
var XmlParser: TXmlParser;
const D = #10;
procedure ScanElement(parents:String);
begin
while XmlParser.Scan do
begin
PB.StepIt;
case XmlParser.CurPartType of
ptStartTag : begin
Scanelement(parents +D+ XmlParser.CurName);
end;
ptEndTag : begin
BREAK;
end;
ptEmptyTag : begin
//Showmessage(parents + ' ' + 'EmptyTag: ' + XmlParser.CurName);
end;
ptContent : begin
if (length(trim(XmlParser.CurContent))>0) then
begin
//Showmessage(parents + ' ' + 'Content: ' + XmlParser.CurName + ' = ' + trim(XmlParser.CurContent));
If (parents = D+ 'Name' +D+ 'Vorname' ) Then
EdName.text:=(XmlParser.CurContent);
//Hier hast du was gefunden!!!

end;
end;
// Andere SAX-Events, die ignoriert werden
// ptCData :
// ptComment :
// ptPI :
// ptXmlProlog :
// ptDtdc :

end;
end;
end;
begin
try
XmlParser := TXmlParser.Create;

XmlParser.LoadFromBuffer(pchar(XMLInput));
// XmlParser.LoadFromFile(Filename);

XmlParser.StartScan;
XmlParser.Normalize := FALSE;

ScanElement('');

finally
XmlParser.Destroy;
end;
end;


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