【问题标题】:Reading iTunes XML File With PHP使用 PHP 读取 iTunes XML 文件
【发布时间】:2010-11-21 09:46:10
【问题描述】:

我正在尝试使用 PHP 读取 iTunes XML 文件。我想提取特定的信息。例如名称、艺术家和专辑。我该怎么做?我发现this 在解析整个文件时效果很好。我想也许可以用它来创建一个更容易阅读的全新 XML 文件。

但一定有更好的办法。

轨道的 XML 结构如下所示:

<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>

【问题讨论】:

    标签: php xml itunes


    【解决方案1】:

    我不认为解析文件然后创建另一个更容易解析的文件是正确的解决方案。你已经解析了主文件,为什么还要做更多的工作呢?

    simplexml 允许您相对轻松地导航 XML 对象,因此您应该能够获得所需的信息。我会使用simplexml_load_file()simplexml_load_string() 来加载主文件,然后可能会使用SimpleXMLElement::xpath 在生成的XML 结构中导航以找到所需的数据。

    【讨论】:

    • 我不能用简单的 XML 来做。当我用它解析一个轨道节点时,它是这样的。 pastebin.com/f19eca19c
    • 输出 Ben 有什么问题?看起来您有一个对象,然后只需使用该对象输出您需要的内容,或插入您选择的数据库。
    【解决方案2】:

    SimpleXML 是执行此操作的内置方式。 http://www.devshed.com/c/a/XML/SimpleXML/ 似乎是一个很好的教程,还有关于 simpleXML 的 php.net 部分。

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      相关资源
      最近更新 更多