【问题标题】:Parse XML with Apple Script使用 Apple 脚本解析 XML
【发布时间】:2026-01-26 17:20:02
【问题描述】:

我尝试创建一个从网站下载图像的 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 的东西,但我对此一无所知。 我该怎么做?

【问题讨论】:

    标签: xml applescript automator


    【解决方案1】:

    由于您发布的 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 键的值。

    【讨论】: