Since you are only working with DFAs, you can XOR two automata by building the cross product of the two automata and then taking as accepting states those pairs of states of which one state is an accepting state, but not both.
Note that this construction only works for DFAs in which each state has exactly one successor state for each alphabet symbol. This ensures that you always reach a state when simulating the automaton and the acceptance of a word only depends on whether this state is an end state or not. Sometimes, DFAs are defined so that each state has at most one successor state for each alphabet symbol. In this case, the construction above doesn't work anymore, because there is now a second reason why a word is not accepted: with some words no state is reached at all.