待操作的xml示例:<?xml version="1.0" encoding="utf-8" ?>
<Root>
<A>asdasd</A>
<B value="1">445</B>
<ClassDemoCollection>
      <item>
          <ItemId>1</ItemId>
          <ItemName>test</ItemName>
      </item>
  <item>
          <ItemId>2</ItemId>
          <ItemName>test</ItemName>
      </item>
</ClassDemoCollection>
</Root>
一个集合辅助类:     [Serializable()]
    public class CollectionBaseCommon<T> :CollectionBase where T:class
    {
         /// <summary>
         /// 成员索引
         /// </summary>
         /// <param name="index"></param>
         /// <returns></returns>
         public T this[int index]
         {
             get
             {
                 return (this.List[index]) as T;
             }
             set
             {
                 this.List[index] = value;
             }
         }         /// <summary>
         /// 添加一个成员
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
         public int Add(T model)
         {
             return this.List.Add(model);
         }         /// <summary>
         /// 移除一个成员
         /// </summary>
         /// <param name="model"></param>
         public void Remove(T model)
         {
             this.List.Remove(model);
         }
    }
成员及集合操作类:[Serializable]
public class Item
{
  public int ItemId{get;set;}  public string ItemName{get;set}
}
    [Serializable]
    public class ClassDemoCollection: CollectionBaseCommon<Item>
    {
        public ConfigItem GetItem(Item model)
        {
            if (this.List.Count > 0)
            {
                foreach (Item item in this.List)
                {
                    if (model == item)
                        return item;
                }
            }
            return null;
        }
    }操作及需求是:用Linq To Xml 得到xml文件中<ClassDemoCollection>所有节点后,序列化成类ClassDemoCollectionstatic void Main(string[] args)
{
   XDocument doc1 = XDocument.Load("xml.xml");
   var items1 = from item in doc1.Descendants("ClassDemoCollection")
                         select item;
          ClassDemoCollection  result = new ClassDemoCollection();
           foreach (XElement xe in items1)
            {
                if (xe != null)
                {
                  ClassDemoCollection result = SerializeHelper.SerializeXelementToObj<ClassDemoCollection>(xe);
                  //相当于把XElemen反序列化为ClassDemoCollection 对象.但是由于取得的节点不是正规的xml文档(缺少<?xml version="1.0"?>这个声明),所以转换是不成功的.求解决方案.
                    break;
                }
            }
}