If you want to skip duplicates, then regardless of the fact the data is coming from XML, and regardless of the fact that you are writing it to MS Access, you must have a list of the distinct items you have already seen, so you can tell whether a new item is a duplicate of any of them.
I would use a Map for that and not an array, because unless you screw it up the lookup time is O(1) instead of O(N), but in any case you still need the list of distinct items somewhere. If it's overflowing your available memory (you didn't really describe your problem) then you could use the data you have already written to the database as the list of distinct items. Slower but uses less memory.