Estoy participando un proyecto dónde se consume un Web Service. Una característica de este Web Service es que la función de entrada recibe de parámetro un XMLDocument pero bajo la condición que si un tag no tiene valor que no lo pase.

La solución mas rápida que encontré fue crear un Removedor dónde le paso el nodo dónde quiero remover el tag.

Lo use una aplicación ASP.NET 2.0 con Mobile Controls.

Por si les sirve el código se lo dejo acá:

private void RemoverNodo(XmlNode nodo)
{
 int i;
 for (i = 0; i < nodo.ChildNodes.Count; i++)
 {
  XmlNode nodoHijo = nodo.ChildNodesIdea [I];
  if (nodoHijo.InnerText == string.Empty)
  {
    nodo.RemoveChild(nodoHijo);
    i = i - 1;
   }
  else
  {
   RemoverNodo(nodoHijo);
  }
 }
}

Post cruzado desde cfong en wmugperu