1.ExtranetLink.xml
<?xml version="1.0" encoding="utf-8" ?> <menus> <menu Header="水利综合网"> <extranet LinkName="百度网" LinkAdd="http://www.baidu.com"/> <extranet LinkName="度网线" LinkAdd="http://www.baidu.com"/> <extranet LinkName="计算机信息化" LinkAdd="http://www.baidu.com"/> <extranet LinkName="silverlight委员会" LinkAdd="http://www.baidu.com"/> <extranet LinkName="中央气象局" LinkAdd="http://www.baidu.com"/> <extranet LinkName="联合国" LinkAdd="http://www.baidu.com"/> </menu> <menu Header="各省市天气网"> <extranet LinkName="中央气象局" LinkAdd="http://www.baidu.com"/> <extranet LinkName="河北" LinkAdd="http://www.baidu.com"/> <extranet LinkName="北京" LinkAdd="http://www.baidu.com"/> <extranet LinkName="添加" LinkAdd="http://www.baidu.com"/> <extranet LinkName="修改" LinkAdd="http://www.baidu.com"/> <extranet LinkName="百度网盘" LinkAdd="http://www.baidu.com"/> </menu> </menus>
2.读取xml文件
private void getXmlDataTask_BeforeStart(object sender, EventArgs e) { Task task = sender as Task; task.MethodName = "ExtranetLink.xml"; task.ReturnType = typeof(String); }
3.处理文件
private void getXmlDataTaskCallBack(Response response) { tabConExtranet.Items.Clear(); XDocument document = XmlParseHelper.XmlParse(response.DataString); this.Dispatcher.BeginInvoke(() => { IEnumerable<XElement> elements = document.Descendants(XName.Get("menu")); foreach (XElement parent in elements) { TabItem tabItem = new TabItem(); tabItem.Header = parent.Attribute(XName.Get("Header")).Value; tabItem.Style = App.Current.Resources["tabItemStyle"] as Style; StackPanel sp = new StackPanel(); tabItem.Content = sp; sp.Orientation = Orientation.Horizontal; IEnumerable<XElement> childs = parent.Descendants(XName.Get("extranet")); foreach (XElement child in childs) { HyperlinkButton hyper = new HyperlinkButton(); hyper.TargetName = "_blank"; hyper.Content = string.Concat("", child.Attribute(XName.Get("LinkName")).Value); hyper.NavigateUri = new Uri(child.Attribute(XName.Get("LinkAdd")).Value); hyper.Style = App.Current.Resources["hyperlinkStyle"] as Style; sp.Children.Add(hyper); } tabConExtranet.Items.Add(tabItem); } }); }