LINQtoXML-加载xml文件

这两天利用有限的时间给公司做了一套订餐系统.上午折腾了两次.犹豫在.net 2.0 与.net 3.5之间.
本质是徘徊在旧技术与新技术(这样讲合适么?)之间...
犹豫的结果就是浪费了很多宝贵的时间,最后定下来用.net 3.5实现.核心的技术是LINQ TO XML.
下午4:30分,做了有20%左右,至5:00卡在分类加载xml文件这个地方.查MSDN看到的结果难受了一下下,
似乎没有对此做特别的讲解.只是简单的说明用XElement类、XDocument、的静态load()直接加载,完全抛开了用net 2.0xmlDocument的实例加载xml文件的方法.
本人代码:
 1 try
 2        {
 3            switch (m_Sort)
 4            {
 5                case "vegetables":
 6                    XElement m_Veget = XElement.Load(m_Server.Server.MapPath("~/xml/vegetables.xml"));
 7                    break;
 8                case "meats":
 9                    m_Doc.Load(m_Server.Server.MapPath("~/xml/meats.xml"));
10                    break;
11                case "shaxian":
12                    m_Doc.Load(m_Server.Server.MapPath("~/xml/shaxian.xml"));
13                    break;
14                case "lanzhou":
15                    m_Doc.Load(m_Server.Server.MapPath("~/xml/lanzhou.xml"));
16                    break;
17            }

18
19            IEnumerable<XElement> xe = from veg in m_Veget.Elements().Elements("Item")
20                                       select veg;
21            foreach (XElement item in xe)
22            {
23                DataRow dr = m_TempDt.NewRow();
24                dr["Id"= item.Attribute("id").ToString();
25                dr["Text"= item.Value;
26                m_TempDt.Rows.Add(dr);
27            }

28            m_CheckList.DataSource = m_TempDt.DefaultView;
29            m_CheckList.DataValueField = "ID";
30            m_CheckList.DataTextField = "Text";
31            m_CheckList.DataBind();
32        }

以上代码实现功能:所有食物分类存储在相应的xml文件中,利用LINQ to XML的轴方法Elements()检索出需要的信息(id,text).存临时表.绑定CheckBoxList控件.
问题:
根据m_Sort分类传入参数,加载相应的xml.在.net 2.0下实现直接用xmlDocument实例.实现局部变量加载xml然,XElement、XDocuments却只能用各自的静态load()方法实现........
LP催了,晚上解决......
posted @ 2008-06-16 18:05  jason wei  阅读(451)  评论(0编辑  收藏  举报