Bestimmten Wert aus XML-Datei auslesen
Hallo Leute,
ich versuche bereits seit 4 Stunden krampfhaft aus folgender XML-Datei:
Code:
die Werte, die innerhalb von MemoData stehen auszulesen, erhalte aber immer leere Werte.
<?xml version="1.0" encoding="ASCII"?>
<Exif> <APP1> <Exif_IFD> <DateTimeOriginal>2012:03:15 18:25:56</DateTimeOriginal> </Exif_IFD> <GPS_IFD> <GPSLatitudeRef>N</GPSLatitudeRef> <GPSLatitude>00:00:00</GPSLatitude> <GPSLongitudeRef>E</GPSLongitudeRef> <GPSLongitude>00:00:00</GPSLongitude> </GPS_IFD> </APP1> <APP5> <CameraMemo1> <MemoItem1>Projekt</MemoItem1> <MemoData1>SDhTMLpXJR_001_v</MemoData1> </CameraMemo1> <CameraMemo2> <MemoItem2>Mitarbeiter</MemoItem2> <MemoData2>Winner</MemoData2> </CameraMemo2> <CameraMemo3> <MemoItem3>DokTyp</MemoItem3> <MemoData3>Projektabnahme</MemoData3> </CameraMemo3> <CameraMemo4> <MemoItem4></MemoItem4> <MemoData4></MemoData4> </CameraMemo4> <CameraMemo5> <MemoItem5></MemoItem5> <MemoData5></MemoData5> </CameraMemo5> </APP5> </Exif> Ich benutze hierfür TXMLDocument. Könnt ihr mir helfen? |
AW: Bestimmten Wert aus XML-Datei auslesen
Und was machst du bisher (Quellcode)?
|
AW: Bestimmten Wert aus XML-Datei auslesen
Wenn Du jetzt noch zeigst (source) wie Du es machst, dann hast Du eine echte Chance, daß Dir jemand helfen kann.
Gruß K-H |
AW: Bestimmten Wert aus XML-Datei auslesen
Ja sorry, vergessen ;)
So versuche ich das Attribut auszulesen:
Code:
TempString := XMLDoc.DocumentElement.ChildNodes['CameraMemo1'].Text;
|
AW: Bestimmten Wert aus XML-Datei auslesen
XML ist für mich lange her.
(Ich hatte hier mal meine damaligen Erkenntnisse zusammen gefasst. Vielleicht bringt Dir da ja etwas was...) Ansonsten hast Du in Deinem Knoten m.E. nur Unterknoten und keinen Text. Und Attribute sind im XML auch etwas anderes als Texte. Aber genauer kann ich leider nicht weiter helfen. |
AW: Bestimmten Wert aus XML-Datei auslesen
Wer hat sich eigentlich dieses XML-Format ausgedacht?
Noch könnte man vielleicht daran etwas ändern... Die Benennung der Elemente ist ziemlich ungeschickt. Besser wäre:
XML-Code:
<APP5>
<CameraMemo id="1"> <MemoItem>Projekt</MemoItem> <MemoData>SDhTMLpXJR_001_v</MemoData> </CameraMemo> <CameraMemo id="2"> <MemoItem>Mitarbeiter</MemoItem> <MemoData>Winner</MemoData> </CameraMemo> |
AW: Bestimmten Wert aus XML-Datei auslesen
Leider kann ich an der XML-Datei nichts ändern.
Die kommt so von einem Gerät :( |
AW: Bestimmten Wert aus XML-Datei auslesen
Delphi-Quellcode:
Liegt "CameraMemo1" im DocumentElement/RootElement aka "Exif"?
TempString := XMLDoc.DocumentElement.ChildNodes['CameraMemo1'].Text;
Wenn nein, dann kann es dort auch nicht gefunden werden. :stupid: Du mußt es schon im richtigen Knoten suchen. PS: XPath bietet auch Möglichkeiten global über mehrere Unterknotenebenen hinweg zu suchen. |
AW: Bestimmten Wert aus XML-Datei auslesen
Hmm, das stimmt wohl.
Hab's jetzt so probiert:
Code:
Aber auch das bringt mir nur leere Werte...
TempString := XMLDoc.DocumentElement.ChildNodes['CameraMemo1'].ChildNodes['MemoData1'].Text;
Hab' ich jetzt hier 'nen Denkfehler? |
AW: Bestimmten Wert aus XML-Datei auslesen
Jupp, denn auch der Pfad stimmt nicht.
APPS5 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 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