I was trying to pass an XmlNode as a parameter in my WCF Service. Didn't think this would be an issue but I kept getting the error:
Type 'System.Xml.XmlNode' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute.
I found a like on what types you can use with the DataContractSerializer here: http://msdn.microsoft.com/en-us/library/ms731923(VS.85).aspx
So it support only an Array of XmlNode, WHAT?! Ok, fine so then we use XmlElement instead, or pass in an array with 1 item.