Cómo serializar / deserializar clases simples a XML y viceversa

A veces quiero emular los datos almacenados de mis clases sin configurar un viaje de ida y vuelta a la base de datos. Por ejemplo, digamos que tengo las siguientes clases:

public class ShoppingCart
{
    public List<CartItem> Items {get; set;}
    public int UserID { get; set; }
}

public class CartItem
{
    public int SkuID { get; set; }
    public int Quantity  { get; set; }
    public double ExtendedCost  { get; set; }
}

Digamos que construyo unShoppingCart objeto en memoria y desea "guardarlo" como un documento XML. ¿Es esto posible a través de algún tipo deXDocument.CreateFromPOCO(shoppingCart) ¿método? ¿Qué tal en la otra dirección: hay una forma integrada de crear unShoppingCart objeto de un documento XML comonew ShoppingCart(xDoc)?

Respuestas a la pregunta(4)

Su respuesta a la pregunta