plist1
<dict>
<key>name</name>
<string>llama</string>
</dict>
plist2
<dict>
<key>nickname</name>
<string>brett</string>
</dict>
merged result
<dict>
<key>name</name>
<string>llama</string>
<key>nickname</name>
<string>brett</string>
</dict>
gem install merge_plist
require 'merge_plist'
merged = MergePlist::merge(
File.read("a.plist"),
File.read("b.plist"),
File.read("c.plist"))
merge_plist a.plist b.plist c.plist