Ho trovato this thread che ha un esempio di analisi di un file XML con gli strumenti XML disponibili tramite Eventi di sistema. Sembra piuttosto complicato per me però.
C'è anche questo (freeware) scripting addition package per l'analisi/scrittura di XML. Non l'ho guardato, ma potrebbe essere pulito.
Personalmente, salverei il mio script come un pacchetto di script, e poi farei un piccolo script php/Ruby/perl/python/qualunque per analizzare l'XML (dato che mi sento più a mio agio con questo) in il pacchetto. Quindi userò AppleScript e poi passerò l'XML allo script parser da cURL.
AppleScript:
set scriptPath to POSIX path of (path to me as alias) & "Contents/Resources/parse_xml.rb"
set fooValue to do shell script "curl http://foo/test.xml 2> /dev/null | ruby " & quoted form of scriptPath
parse_xml.rb potrebbe essere somthing simili (usando rubino come esempio):
require "rexml/document"
# load and parse the xml from stdin
xml = STDIN.read
doc = REXML::Document.new(xml)
# output the text of the root element (<foo>) stripped of leading/trailing whitespace
puts doc.root.text.strip
(rubino e il pacchetto REXML dovrebbe essere prontamente disponibili su qualsiasi Mac, quindi dovrebbe funzionare ovunque ... credo)
Il punto è, quando lo script viene eseguito, scaricherà il file XML con cURL, lo passerà allo script Ruby e alla fine, fooValue
in AppleScript sarà impostato su "bar".
Ovviamente, se l'XML è più complesso, è necessario più script o dare un'altra occhiata alle altre opzioni.
Probabilmente ci sono ancora più modi per farlo (ad esempio, si può semplicemente manipolare le stringhe invece del parsing XML completo, ma questo è un po 'fragile ovviamente, ma mi fermerò qui :)