使用Apple Script解析XML

时间:2013-02-27 13:53:02

标签: xml applescript automator

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

我找到了如何在使用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的一些内容,但我对此一无所知。 我怎么能这样做?

1 个答案:

答案 0 :(得分: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个键值。