读书人

求教 用LINQ查询XML 的方式.解决方案

发布时间: 2012-01-08 22:48:50 作者: rapoo

求教 用LINQ查询XML 的方式.
请教高手关于LINQ用法 以下方法GetData()应该返回什么类才正确

〈books>
<book>
<id>0 </id>
<name>ASP.NET AJAX </name>
</book>
....
</books>

protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource=GetData();
}

private ******* GetData()
{
XElement xEle=XElement.Load("...");
var books=from x in xEle.Element("books").Elements("book")
select new
{
id=x.Element("id").value,
name=x.Element("name").value,
};

return books;
}

[解决办法]
给Book 类做字段的映射,xml可以与class进行转换

C# code
/**//// <summary> 18        /// 将XML文档转换成实例对象 19        /// </summary> 20        /// <typeparam name="T">对象类型</typeparam> 21        /// <param name="pmFileName">文件名</param> 22        /// <returns>实例对象</returns> 23        public static T DeserializeFile<T>(string pmFileName) 24        { 25            FileStream fs = new FileStream(pmFileName, FileMode.Open); 26            XmlSerializer xs = new XmlSerializer(typeof(T)); 27            T tObjext = (T)xs.Deserialize(fs); 28            fs.Close(); 29            fs.Dispose(); 30            return tObjext; 31        } 

读书人网 >.NET

热点推荐