silverlight5如何读取本地xml文件

allenhiman 2011-07-12 03:17:02
我现在的环境是 silverlight5
想要在sl中读取本地的一个xml 这个xml放在本地哪个位置无所谓

我把data。xml和。xap和网页放到同一目录下 用下面的代码无法读取xml

using(XmlReader reader = XmlReader.Create( "data.xml") )
{
}
或者
using(XmlReader reader = XmlReader.Create( "d:/data.xml") )
{
}

请问 sl 要怎样读取本地的xml文件啊?
...全文
581 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
maxmax1986 2012-05-30
  • 打赏
  • 举报
回复
可以把你读取xml的方法分享下吗,就算没实现,你那个比较绕的也行,现在就是要做个测试,本来使用网络上的资源,但是付费的,只能拿本地的xml做测试了,谢了先,最好发站内信给我谢谢了
Architecture Net 2011-07-18
  • 打赏
  • 举报
回复
在Silverlight 5中如果要访问本地的文件,需要提升Silverlight程序在本地的访问权限。可以参考下面一篇文章对本地文件的访问。
http://www.cnblogs.com/chengxingliang/archive/2011/04/28/2030800.html
wsygr_2007 2011-07-18
  • 打赏
  • 举报
回复
xml放在web根目录,.CS读取xml文件中变量值
webClient = new WebClient();
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);

webClient_DownloadStringCompleted方法
private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{

if (e.Error == null)
{
XmlReader reader = XmlReader.Create(new StringReader(e.Result));


XDocument document = XDocument.Load(reader);
XElement root = document.Element("config");

wcfUri = root.Element("WcfUri").Attribute("value").Value;
wcfUri = wcfUri.Replace("%root%", ServerUri);
_ControlServerIP = root.Element("controlServer").Attribute("ip").Value;
_ControlServerPort = int.Parse(root.Element("controlServer").Attribute("port").Value);
mapServiceUri = root.Element("MapUri").Attribute("value").Value;
mapServiceUri = mapServiceUri.Replace("%root%", ServerUri);


controlBox_Ip = root.Element("Control_box").Attribute("ip").Value;


//this.RootVisual = new MainPage();
}
}
供参考!!
allenhiman 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 shaxiaoliang 的回复:]
引用 11 楼 allenhiman 的回复:

引用 10 楼 shaxiaoliang 的回复:
貌似是sl中不允许读取客户端具体路径的文件的,这个是由沙盒限制的!我现在也为了获取具体路径而恼火呢!

图片却是可以的 我用image控件加载“d:/xx.png"是可以加载的 读取xml就不管事儿

好像运行的时候就不显示了,在vs里头是能显示的
[/Quote]
我的能显示啊 我的程序要同步windows桌面墙纸 就是直接弄的绝对路径
shaxiaoliang 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 allenhiman 的回复:]

引用 10 楼 shaxiaoliang 的回复:
貌似是sl中不允许读取客户端具体路径的文件的,这个是由沙盒限制的!我现在也为了获取具体路径而恼火呢!

图片却是可以的 我用image控件加载“d:/xx.png"是可以加载的 读取xml就不管事儿
[/Quote]
好像运行的时候就不显示了,在vs里头是能显示的
allenhiman 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 shaxiaoliang 的回复:]
貌似是sl中不允许读取客户端具体路径的文件的,这个是由沙盒限制的!我现在也为了获取具体路径而恼火呢!
[/Quote]
图片却是可以的 我用image控件加载“d:/xx.png"是可以加载的 读取xml就不管事儿
shaxiaoliang 2011-07-18
  • 打赏
  • 举报
回复
貌似是sl中不允许读取客户端具体路径的文件的,这个是由沙盒限制的!我现在也为了获取具体路径而恼火呢!
allenhiman 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zealot112345 的回复:]
用webclient.它提供以字符串格式读取和流形式读取。
[/Quote]

我看到有人这样说 不过那个xml好像是必须在网页服务器上才行啊 我这个程序没有服务器的
zealot112345 2011-07-15
  • 打赏
  • 举报
回复
用webclient.它提供以字符串格式读取和流形式读取。
allenhiman 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 malin2670372 的回复:]
请先搞清楚silverlight的访问文件的权限...比如独立存储区、OOB情况等...
没搞清楚白搭!
[/Quote]
...您的意思是能还是不能啊? 我现在有别的办法可以用 只是需要绕一下 我就是看看有没有正规的办法,业余搞。net的业余程序员。。。 没办法 不想搞那么多 只想知道能或不能 能要怎么做?
allenhiman 2011-07-13
  • 打赏
  • 举报
回复
FileInfo xml = new FileInfo("d:/data.xml");也会卡住。。。
allenhiman 2011-07-13
  • 打赏
  • 举报
回复
string fullpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\data.xml";
这句直接卡住了 执行不了啊
allenhiman 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 putianchengp 的回复:]
string fullpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + path;

FileInfo xml = new FileInfo(fullpath);
XmlReader xml_Rd = XmlReader.Create(xml.OpenRead());你错的应该是我……
[/Quote]
仁兄 这种写法的话 我的data。xml应该放在哪个目录下啊?
malin2670372 2011-07-13
  • 打赏
  • 举报
回复
请先搞清楚silverlight的访问文件的权限...比如独立存储区、OOB情况等...
没搞清楚白搭!
putianchengp 2011-07-12
  • 打赏
  • 举报
回复
string fullpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + path;

FileInfo xml = new FileInfo(fullpath);
XmlReader xml_Rd = XmlReader.Create(xml.OpenRead());你错的应该是我标注的红色字体部分
allenhiman 2011-07-12
  • 打赏
  • 举报
回复
up 一下

8,756

社区成员

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

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