I have a xml file that my editing software generates. I would like to be able to go in and read data inside XML file and save it to clipboard or variable inside Keyboard Maestro?
I was thinking of just modifying the xml to be a shell script, but I don’t know xml that well and if shells work that way.
My quick answer being the novice that I am is that you could read a file in. And do regex on it to grab the contents that you want. That is providing the tag is specific (e.g.
Data
). Because if there are multiple you will need some mechanism to determine which one you get data from. I am going to give this a try and post what I come up with.
Wow what I suspected worked well. This program is off the hook! Tell me if you need help understanding any part of it. In the zip is a macro to import and a test xml file. The macro pulls in the data from within the label tag and puts it in the clipboard. You will have to point to the path of the XML file. xmlWork.zip (1.3 KB)
AppleScript and System Events can do more sophisticated queries:
------------------------------------------------------------
set plistFilePath to "/Library/Preferences/com.apple.Bluetooth.plist"
tell application "System Events"
tell property list file plistFilePath
set nameList to name of property list items
if nameList contains "BRPairedDevices" then
set BRPairedDevices to value of property list item "BRPairedDevices"
end if
end tell
end tell
------------------------------------------------------------
Satimage’s XMLLib.osax is faster and more sophisticated yet, although most people need some help to get started using it.
I imagine JavaScript has tools for parsing XML, so Rob will probably chime in with some more goodies.