Silverlight 读取配置文件

时间:2021-08-07 04:37:28

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);
}
});
}