0

我尝试创建一个从网站下载图像的 Automator 工作流程。图像的名称在一个 xml 文件中,我想提取它们以创建一个像http://test.com/images/dynamic_image_name.jpg这样的 url

当我拥有 Automator 的 URL 时,我发现了如何下载图像,但我正在寻找一种解析 XML 文件的方法,以便提取图像名称并自动生成好的 URL。

这是 XML 文件的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Managers</key>
<dict>
    <key>Sophie Barriac</key>
    <dict>
        <key>image</key>
        <string>sophie.png</string>
        <key>Téléphone</key>
        <dict>
            <key>number</key>
            <string>0460046150</string>
            <key>mobile</key>
            <string>0614589665</string>
        </dict>
        <key>Email</key>
        <dict>
            <key>email</key>
            <string>sophie.barriac@cgi.com</string>
        </dict>
    </dict>
    <key>Kevin Berthier</key>
    <dict>
        <key>image</key>
        <string>kevin.png</string>
        <key>Téléphone</key>
        <dict>
            <key>number</key>
            <string>0469646007</string>
        </dict>
        <key>Email</key>
        <dict>
            <key>email</key>
            <string>kevin.berthier@cgi.com</string>
        </dict>
    </dict>
</dict>

我看到了一些关于 AppleScript 的东西,但我对此一无所知。我怎样才能做到这一点 ?

4

1 回答 1

3

由于您发布的 XML 文件是一个.plist文件,因此您可以使用以下内容:

tell application "System Events"
    set plistFile to contents of property list file "PATH TO PLIST FILE"

    set managersPlist to property list item "Managers" of plistFile
    set managers to every property list item of managersPlist

    repeat with manager in managers
        set imageFile to value of property list item "image" of manager
        display dialog imageFile
    end repeat
end tell

这将提取所有image键的值。

于 2013-02-28T09:46:26.187 回答