The SQL server will usually cast between xml and varchar / string quite
happily; this is usually the simplest way to talk xml to the database.
Whether you *use* the xml type depends on a few factors; if it is *just*
storage, then the only benefit is that it verifies that the xml is
well-formed. However, using the xml data-type has the overhead of
shredding the data, so will be more expensive if you have lots of
updates. In this case, varbinary(max) might be a cheaper option, as it
allows you to store the data without the cost of parsing it.
However; on the other side, the xml type allows you to enforce schema
(if you fancy), to query inside the entity directly with TSQL (including
indexing), and allows you to promote key expressions (/order/@orderNo
for example) to persisted, index columns for blazing performance.
So only your project can determine whether the xml type is suitable!
Marc