So you're basically doing something like
Code:
Dim globalNode As XmlNode
Private Sub SomeMethod()
globalNode.Data = ...
someList.Add(globalNode)
End Sub
Private Sub OtherMethod()
globalNode.Data = something else
someList.Add(globalNode)
End Sub
Don't do that. It's the same object you keep accessing, and you are simply adding the same object to the list every time. When you change the Data property (that's just something I made up, I dunno what properties the XmlNode exactly has), it will change on that one instance only, and hence every item in the list (being the same item multiple times) reflects that change.
Instead of filling the same node with XML data over and over, assign a new instance of it first.
Code:
Private Sub SomeMethod()
globalNode = New XmlNode()
globalNode.Data = ...
someList.Add(globalNode)
End Sub
That should work, but it defeats the purpose of having the node globally. Actually, why do you need it globally at all?