![]() |
Wie Itunes Library auslesen (XML)
Hallo,
Itunes legt eine XML-Datei an in der die Informationen zu den Liedern enthalten sind. Dabei existiert zu jedem Lied ein Eintrag ähnlich dem folgenden.
Code:
Ich möchte aus dieser Liste nun bestimmte Informationen auslesen (z.B. Album, Artist,Titel). Wie mache ich das nun? es gibt ja keine Node "Artist", die ich anwählen kann. Über den Index, des Nodes kann ich ja auch nicht gehen. Denn wenn eine Info fehlt, dann fehlt auch der Eintrag und das ganze verschiebt sich. Ich müsste also immer den Index des "key"-nodes rauskriegen und dann den Inhalt des nachfolgenden Nodes?! Allerdings habe ich noch nicht viel mit XML gearbeitet. Wie sind die Befehle die ich dafür verwenden muss? Mit dem mir bekannten "selectsingleNode" geht das ja nicht..
<key>1924</key>
<dict> <key>Track ID</key> <integer>1924</integer> <key>Name</key> <string>Love the Way You Lie</string> <key>Artist</key> <string>Eminem & Rihanna</string> <key>Album Artist</key> <string>Eminem</string> <key>Album</key> <string>Recovery</string> <key>Genre</key> <string>Hip-Hop/Rap</string> <key>Kind</key> <string>Gekaufte AAC-Audiodatei</string> <key>Size</key> <integer>9423634</integer> ... hier folgen viele weitere Einträge </dict> Vielen Dank im Vorraus Kahoee |
AW: Wie Itunes Libary auslesen (XML)
Wieso gehst du nich über die COM-Schnittstelle von iTunes?
|
AW: Wie Itunes Libary auslesen (XML)
Du liest den Index des gewünschten Keys aus und nimmst dann einfach den Wert des nachvolgenden Nodes (notfalls noch prüfen, ob das wirklich ein Value ist)
oder man suchst sich den gewünschten Key-Node und nimmt den nächsten Sibling-Node. Teilweise ließe es sich mit XPath regeln. Ansonsten kann ich nur eines sagen: Der Typ, welcher dieses entworfen hat, gehört erschossen. |
AW: Wie Itunes Libary auslesen (XML)
Habe das bisher alles auf Basis des
![]() Vielen Dank Edit: Mit ItunesCom habe ich mich noch nicht beschäftigt. Hast du da nen Link zu einer Dokumentation oder so, sodass ich mir das angucken kann? |
AW: Wie Itunes Libary auslesen (XML)
Zitat:
|
AW: Wie Itunes Libary auslesen (XML)
Ich hatte das jetzt so verstanden. Ich schreibe alle SubNodes des Nodes "dict",die den Namen "key" haben, in eine Nodelist.
Das geht ja über
Delphi-Quellcode:
anschließend gehe ich diese Liste durch und suche nach dem richtigen Wert:
Nodelist:=MainNode.SelectNodes('key');
Delphi-Quellcode:
Wie macht man den Zugriff auf einen Subnode mit einem bestimmten Item. In Beitrag8 wird nur auf das Item in der Liste zugegrifften, die wiederum enthält bei mir aber nur Objekte mit dem Namen "key". Kann man auch eine Liste mit allen Subnodes erstellen?
for i:=0 to nodelist.length-1 do
begin if nodelist.item[i].text='Artist' then //bin nicht sicher ob man so auf den Wert zugreifen kann begin //hier muss nun auf den SubNode mit dem Index i*2+1 zugegriffen des Mainnodes (dict-Node) werden end; end; Gruß KahPee |
AW: Wie Itunes Libary auslesen (XML)
Ich habe die Lösung gefunden. Der Befehl den ich suche ist:
Delphi-Quellcode:
Damit habe ich ja den gesuchten Zugriff auf einen Node unabhängig vom Namen!
MainNode.childNodes.item[INDEX].text
KahPee |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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