读取XML数据的问题

lcp147572931 2010-10-14 09:35:10

<?xml version="1.0" encoding="utf-8" ?>
<Items>
<MenuItem Text="分类">
<MenuItem Text="瓷器" IsEnabled="false"/>
<MenuItem Text="青铜器" IsEnabled="false"/>
<MenuItem Text="玉器"/>
<MenuItem Text="陶器"/>
</MenuItem>
<MenuItem Text="年代">
<MenuItem Text="西周"/>
<MenuItem Text="汉代"/>
<MenuItem Text="唐代"/>
<MenuItem Text="宋代" IsEnabled="false"/>
<MenuItem Text="元代"/>
<MenuItem Text="明代"/>
<MenuItem Text="清代" IsEnabled="false"/>
</MenuItem>
</Items>


public class MenuItem
{
private bool isEnabled = true;
private string text;
private List<MenuItem> children;
public string Text
{
get
{
return this.text;
}
set
{
this.text = value;
}
}
public bool IsEnabled
{
get
{
return this.isEnabled;
}
set
{
this.isEnabled = value;
}
}
public List<MenuItem> Children
{
get
{
return this.children;
}
set
{
this.children = value;
}
}
}


我用的是WebClient的OpenReadAsync方法

void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
List<MenuItem> mi = new List<MenuItem>();
MenuItem CurrentItem = null;
XmlReader reader = XmlReader.Create(e.Result);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "MenuItem")
{
CurrentItem = new MenuItem();
................
}
}
}


我现在的问题是 不知道中间省略号那部分 该怎么写了 才能把上面的XML全部放到一个名叫mi的List<MenuItem>集合中
...全文
97 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreaminglove 2012-02-20
  • 打赏
  • 举报
回复
我的问题还没解决,楼主你可要发个实例子给我看看吗?
lcp147572931 2010-10-19
  • 打赏
  • 举报
回复
问题 我自己解决了 分送给你们 来者有分
dui_cky 2010-10-15
  • 打赏
  • 举报
回复

xml转换为对象 建议楼主使用 序列化,反序列化
很方便。

Silverlight中的对象序列化/反序列化

http://www.silverlightchina.net/html/tips/2010/0222/744.html
http://www.silverlightchina.net/html/tips/2010/0222/743.html
http://www.silverlightchina.net/html/tips/2010/0328/921.html
http://silverlightchina.net/html/developer/2009/1223/457.html
Sunpire 2010-10-14
  • 打赏
  • 举报
回复
如果子代的层次是无限的,使用递归,
如果子代的层次像楼主的例子中只有2层,硬编码也可以解决。

使用 LINQ to XML 或者 XML 都可以实现,推荐使用前者。

XElement root = XElement.Parse(e.Result);
diandian82 2010-10-14
  • 打赏
  • 举报
回复
搜一下linq to xml,很简单的

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧