![]() |
bdsproj-file lesen?
Hallo!
Ich muss ein paar bdsproj-files manipulieren und lese sie dazu mit der TXMLDocument-Komponente ein. Nur: Wie komm ich auf die Knoten, die sind ... irgendwie anders als ich das sonst so von XML-files kenne. Altes (mir bekanntes) XML-Format:
XML-Code:
"Neues" "Borland" Format:
<BorlandProject>
<PersonalityInfo> <Option> <Personality>Delphi.Personality</Personality> <ProjectType>VCLApplication</ProjectType> <Version>1.0</Version> </PersonalityInfo> (Man beachte, die Blätter sind anders - statt <Personality> steht da <Option Name="Personality">.
XML-Code:
Wie kann ich jetzt z.B. den Wert von PersonalityType auslesen?
<BorlandProject>
<PersonalityInfo> <Option> <Option Name="Personality">Delphi.Personality</Option> <Option Name="ProjectType">VCLApplication</Option> <Option Name="Version">1.0</Option> </PersonalityInfo> Folgendes schlägt fehl:
Delphi-Quellcode:
Wie jetzt?
with TXMLDocument.Create(self) do
begin LoadFromFile(FileNameEdit1.Text); with DocumentElement.ChildNodes['PersonalityInfo'].ChildNodes['Option'] do begin Memo1.Lines.Add( ChildNodes['Option Name="Personality"'].Text); // illegal! Danke, Ralf |
Re: bdsproj-file lesen?
Das
XML-Code:
sind doch ganz normale Attribute, wie sie in jeder XML-Datei vorkommen können. Dami hat Borland wohl die Knoten noch etwas differenziert.
Name="Personality"
|
Re: bdsproj-file lesen?
Zitat:
|
Re: bdsproj-file lesen?
Benutz bitte die Forensuche, das hatten wir schon öfters.
|
Re: bdsproj-file lesen?
Ah, OK, ich beginne das Ganze zu verstehen.
Zusammengefasst: Am Knoten "Option" hängen vier Subknoten die auch wieder "Option" heissen, und die jeweils ein Attribut "Name" haben. Der Inhalt von "Name" bestimmt was das für ein Knoten eigentlich ist. Jetzt hab ich aber doch noch ein Problem: Wie komm ich schnell auf meinen "Zielknoten"? Also, von den 4 "Option"-Knoten möchte ich jenen haben, wo das Attribut "Name" gleich "Personality" ist. Muss ich das mit einer Schleife ausprogrammieren oder gibt's da eine fertige Funktionalität? Danke, Ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 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