Silverlight使用XmlReader读取XML数据到TreeView中

Silverlight使用XmlReader读取XML数据到TreeView中,第1张

概述以前写的了,Silverlight用的人貌似不多。 主要是使用XmlReader读取XML的Attribute数据读取到TreeViewItem的Header和DataContext中,点击TreeView节点的时候将DataContext取出来。 读取XML核心代码: private void LoadCameraListTree(TreeViewItem parentItem,

以前写的了,Silverlight用的人貌似不多。

主要是使用XmlReader读取XML的Attribute数据读取到TreeVIEwItem的header和DataContext中,点击TreeVIEw节点的时候将DataContext取出来。

读取XML核心代码:

        private voID LoadCameraListTree(TreeVIEwItem parentItem,XmlReader reader,int CurrentLevel)        {            CurrentLevel = CurrentLevel + 1;            //XmlReader的ReadSubtree不光是该节点的子节点,还包括该节点本身            //因此要跳过第一个节点            int i = 0;            while (reader.Read())            {                if (0 != i && reader.IsstartElement() && reader.HasAttributes)                {                    TreeVIEwItem item = new TreeVIEwItem();                    item.header = reader.GetAttribute("name");                    item.DataContext = CurrentLevel.ToString() + "&" + reader.GetAttribute("ID") + "&" + reader.GetAttribute("name");                    parentItem.Items.Add(item);                    LoadCameraListTree(item,reader.ReadSubtree(),CurrentLevel);                }                if (0 == i)                {                    ++i;                }            }        }

                XmlReader reader = XmlReader.Create("demo.xml");                while (reader.Read())                {                    if (reader.IsstartElement() && reader.GetAttribute("ID") == "1")                    {                        int CurrentLevel = 1;                        TreeVIEwItem item = new TreeVIEwItem();                        item.header = reader.GetAttribute("name");                        item.DataContext = CurrentLevel.ToString() + "&" + reader.GetAttribute("ID") + "&" + reader.GetAttribute("name");                        treeVIEw_XML.Items.Add(item);                        LoadCameraListTree(item,CurrentLevel);                    }                }

        private voID treeVIEw_XML_selecteditemchanged(object sender,RoutedPropertyChangedEventArgs<object> e)        {            TreeVIEw vIEw = sender as TreeVIEw;            TreeVIEwItem SelectedItem = (TreeVIEwItem)vIEw.SelectedItem;            string SelectedItem_DataContext = (string)SelectedItem.DataContext;            textBlock_DeBUG.Text = SelectedItem_DataContext;            string[] SelectedItem_Attributes = SelectedItem_DataContext.Split("&".tochararray());            string SelectedItem_Level = SelectedItem_Attributes[0];            textBox_Level.Text = SelectedItem_Level;            textBox_ID.Text = SelectedItem_Attributes[1];            textBox_name.Text = SelectedItem_Attributes[2];        }

完整代码可以从下面的链接下载:

http://download.csdn.net/detail/chenxupro/6351375

运行效果如下:

总结

以上是内存溢出为你收集整理的Silverlight使用XmlReader读取XML数据到TreeView中全部内容,希望文章能够帮你解决Silverlight使用XmlReader读取XML数据到TreeView中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1017169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存