0
iTunes Music Library.xmlファイルから情報を抽出する必要があります。 xmlはplistの形になっているので、少し面倒になっています。iTunes Music Library XMLからの情報の抽出XSLT?
「プレイリストID」がある特定のプレイリストからすべてのトラックIDのリストを取得したいとします。
たとえば、iTunesプレイリストは以下のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Playlists</key>
<array>
<dict>
<key>Name</key><string>Library</string>
<key>Master</key><true/>
<key>Playlist ID</key><integer>4053</integer> <!--Ex:4053 I have.-->
<key>Playlist Items</key>
<array>
<dict>
<key>Track ID</key><integer>2413</integer>
</dict>
<dict>
<key>Track ID</key><integer>2083</integer>
</dict>
<dict>
<key>Track ID</key><integer>2081</integer>
</dict>
<dict>
<key>Track ID</key><integer>6798</integer>
</dict>
</array>
<dict>
<!-- Here another playlist will start. with diff playlist ID -->
<array>
</dict>
</plist>
詳細については、iTunes Music Library.xmlを確認してください。
基本的には、これが必要です。 (a)プレイリストID(ここでは4053)を指定すると、そのプレイリストのすべてのトラックID値(ここでは2413,2083,2081,6798)を印刷します。
私の試み:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:for-each select="plist/dict/array/dict">
<xsl:choose>
<xsl:when test="child::integer[preceding-sibling::key[1]='Playlist ID']=4053">
<!-- condition is not working fine, Below lines are working fine -->
<xsl:for-each select="plist/dict/array/dict/array/dict">
<xsl:value-of select="child::integer[preceding-sibling::key[1]='Track ID']"/>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
はXSLT上の任意の専門家が、ここで私を助けることができます。私はとても嬉しく思っています。
有効な入力XMLを作成してください。有効なXMLではありません(終了タグがありません)。また、サンプル出力を表示すると便利です。 – therealmarv
こんにちは "therealmarv"、私は私の質問を変更しました。基本的に私はitunes音楽のlibrary.xmlファイルを解析しています。 iTunesがインストールされている場合は、xml形式をよりよく理解するためにxmlライブラリをチェックすることができます。しかし、私はそれを上で説明しました。ありがとう。 –
Mac OS X:(iTunesライブラリファイルのパス) ** /ユーザー/ユーザー名/音楽/ iTunes/iTunes Library.xml ** Windows XP ** \ Documents and Settings \ユーザー名\ My Documents \ My Music \ iTunes \ iTunes Library Library ** Windows Vista ** \ Users \ユーザー名\ Music \ iTunes \ iTunes Library.xml ** Windows 7 ** \ユーザー\ユーザー名\ Myミュージック\ iTunes \ iTunes Library.xml ** –