Silverlight使用XmlReader读取XML数据到TreeView中
来源:互联网 发布:比较可靠的网络兼职 编辑:程序博客网 时间:2024/05/21 10:27
以前写的了,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, reader.ReadSubtree(), 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文件
- 使用XmlReader类读取XML数据之
- C#中使用XMLReader读取XML文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- 使用XmlReader读取xml文件
- Silverlight中XmlReader解析XML的流程
- 使用XmlDocument 读取books.xml中的书名到DropDownList中。(4-2选作使用XmlReader读取books.xml中的书名到DropDownList中)
- 使用C#实现将XML数据填充到TreeView中
- 使用XmlReader类读取XML文件
- xml + asp.net 实现 xml数据读取到 treeview
- 将XML数据填充到TreeView中
- location proxy_pass的学习资料
- C/C++中二维数组和指针关系分析
- JavaSwing图形界面编程之画图程序
- 【Linux软件安装】Ubuntu 12.04:Arduino IDE
- iOS: Touch Demo
- Silverlight使用XmlReader读取XML数据到TreeView中
- 网络编程
- Java高级特性之跳出多重循环
- 2440触摸屏驱动程序
- JDK5.0新特性总结
- Yii中components的使用
- MySQL 复习笔记III
- John M. Pollard快速分解质因数法
- HDU 3687 National Day Parade