Question

Je suis en train de lire le fichier XML iTunes avec PHP. Je veux extraire les bits d'information particuliers. Tels que le nom, l'artiste et l'album. Comment puis-je faire cela? J'ai trouvé cette qui fonctionne très bien lors de l'analyse du fichier entier. Je pensais en utilisant peut-être cela pour créer un nouveau fichier XML entier qui est plus facile à lire.

Mais il doit y avoir une meilleure façon.

La structure XML pour une piste ressemble à ceci:

<dict>
    <key>Track ID</key><integer>6136</integer>
    <key>Name</key><string>The Boy Who Destroyed the World</string>
    <key>Artist</key><string>AFI</string>
    <key>Album Artist</key><string>AFI</string>
    <key>Composer</key><string>AFI</string>
    <key>Album</key><string>Tony Hawk Pro Skater 3</string>
    <key>Genre</key><string>Punk Rock</string>
    <key>Kind</key><string>MPEG audio file</string>
    <key>Size</key><integer>2971924</integer>
    <key>Total Time</key><integer>185364</integer>
    <key>Track Number</key><integer>3</integer>
    <key>Year</key><integer>1999</integer>
    <key>Date Modified</key><date>2009-08-20T15:03:20Z</date>
    <key>Date Added</key><date>2009-08-20T15:03:20Z</date>
    <key>Bit Rate</key><integer>128</integer>
    <key>Sample Rate</key><integer>44100</integer>
    <key>Play Count</key><integer>34</integer>
    <key>Play Date</key><integer>3332385360</integer>
    <key>Play Date UTC</key><date>2009-08-06T05:36:00Z</date>
    <key>Sort Name</key><string>Boy Who Destroyed the World</string>
    <key>Persistent ID</key><string>9E590180768D4AD8</string>
    <key>Track Type</key><string>File</string>
    <key>Location</key><string>FilePath</string>
    <key>File Folder Count</key><integer>4</integer>
    <key>Library Folder Count</key><integer>1</integer>
</dict>
Était-ce utile?

La solution

Je ne pense pas que l'analyse du fichier, puis créer un autre fichier qui est plus facile à analyser est la bonne solution. Vous avez déjà analysé le fichier principal, alors pourquoi faire plus de travail?

simplexml vous permet de naviguer un objet XML avec une relative facilité, donc vous devriez être en mesure d'obtenir les informations tu veux. J'usesimplexml_load_file() ou simplexml_load_string() pour charger le fichier principal, puis probablement SimpleXMLElement :: XPath pour naviguer dans votre structure XML résultant de trouver les données que vous voulez.

Autres conseils

SimpleXML est le moyen builtin de le faire. http://www.devshed.com/c/a/XML/SimpleXML/ semble être un bon tutoriel, ainsi que la section sur php.net simpleXML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top