pass each string in the following function, and you will always get the right result:
Public Function MakeXMLString(ByVal text As String) As String
text = text.Replace("&", "&")
text = text.Replace("'", "'")
text = text.Replace("""", """)
text = text.Replace("<", "<")
text = text.Replace(">", ">")
Return text
End Function
good luck!