Update existing nodes with fields from XML or CSV
You need to set up feeds and feeds_xpathparser. You could found a good start for configuring all this here : http://www.drupalprogrammer.co.uk/2012/12/use-feeds-module-to-import-xml-data-in.html

Concerning your concern about updating, you can do this by configuring the guid as your external unique id. In the screenshot provided, you can see in my case the xml tag used for unique id is simply &lt;id&gt;.



Then, you just have to configure the node processor so that it will "Update existing node" when it found a duplicate as shown on the screenshot below.