收录日期:2020/12/06 01:06:17 时间:2016/07/31 20:26:27 标签:WPF/Silverlight
比如我在服务器的f盘下的“xml文档”目录里放一个xxx.xml文件,现在我想在后台代码中实现读取这个文件的内容,类似的图片读取image1.Source = new BitmapImage(new Uri("http://www.google.com.hk//intl/zh-CN/images/logo_cn.png "));请知道的帮忙实现下xml文件读取,在这里先谢谢了哈
sl 不支持本地F盘的读取,你需要的xml是在服务器上,可以写一个web service去读取服务器上的文件,然后传回string到客户端就可以了

读取用 File.openRead(path).ReadToEnd() 类似这样就可以了

wcReader = new WebClient();
            wcReader.OpenReadAsync(new Uri("PermissionConfig.xml", UriKind.Relative));
            wcReader.OpenReadCompleted += (s, e) =>
            {
                using (StreamReader reader = new StreamReader(e.Result))
                {
                    PermissionXML = reader.ReadToEnd();
                }
            };

读取服务器上的文件,路径是当前ClientBin路径


            wcWrite = new WebClient();
            wcWrite.OpenWriteCompleted += (s, e) => 
            {
                using (StreamWriter sw = new StreamWriter(e.Result))
                {
                    sw.Write(Instance.PermissionXML);
                }
            };
            wcWrite.OpenWriteAsync(new Uri(Application.Current.Host.Source, "UploadXML.ashx"));
        }

Silverlight不支持直接写入服务器,需要在服务器端建立UploadXML.ashx文件响应写入请求


            HttpRequest request = context.Request;
            HttpResponse response = context.Response;


            using (Stream inputStream = request.InputStream)
            {
                string folder = Path.GetFullPath(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "ClientBin"));
                if (!System.IO.Directory.Exists("ClientBin"))
                    System.IO.Directory.CreateDirectory(folder);

                using (FileStream fs = new FileStream(folder + @"\PermissionConfig.xml", FileMode.Create))
                {
                    byte[] fileContent = new byte[inputStream.Length];
                    inputStream.Read(fileContent, 0, fileContent.Length);
                    fs.Write(fileContent, 0, fileContent.Length);
                    fs.Flush();
                }
            }
            response.Clear();
            response.End();


在UploadXML.ashx中将请求的数据写入ClientBin文件夹中的文件
引用 1 楼 jimmy_xiao0010 的回复:
sl 不支持本地F盘的读取,你需要的xml是在服务器上,可以写一个web service去读取服务器上的文件,然后传回string到客户端就可以了

读取用 File.openRead(path).ReadToEnd() 类似这样就可以了

不能像本地读取那样吗?一定要通过string传才行吗?xml从本地f盘读不可以吗?图片都可以呢,不能传路径吗?不好意思,没有可以测试的地方,所以能否讲清楚点呢
网站是挂在服务器上的呀  这跟ASP.NET是差不多的
2楼正解

asp.net插入数据的问题,在线等 vc.net中怎么生成dll文件啊? 请帮忙介绍一个WebPost组件 招聘兼职美工 转让9月29号广州到南昌火车票一张 请教高人帮我看看为什么报脚本错误? 请问SQL Server中的备份设备和备份文件有什么关系和区别? 请问一个路由,交换机和网线的作法问题 z招聘兼职美工 请教高手们如何显示MYSQL数据库字段及类型??急 页面自动刷新无法激发Page_Load方法怎么办????急等 请教高手一个MYSQL问题,急!! 怎样修改weblogic中server的jdk? 大家知道这个用ASP是怎么实现的吗? 如何调用这两个变量? 域里面的电脑访问网页奇慢 winsock数据应答问题,向各位请教???? 真是心痛的一帖(谢谢认真观看的人),现在连分都没了 请问: 在VFP中经常碰到不能加载32位DLL hndlib 什么意思 spreadsheet到处的.xls文件用excel打不开 如何做 usb key 和 cos 关于上传的 关于地域攻击?建议斑竹留意! 求救阿,高手阿,怎么样作才能像网页一样,使用鼠标可以选中在窗口中输出的文档的字 一个数学公式的求解! 大哥大姐,水晶报表的问题,给指点指点吧,我都发了第2帖了,咋就没有人回呢?急急急急急急急!!! 【求助】关于js自动填select默认值的问题 推荐一下好的,稳定的VC插件 把窗体作为控件用,而窗体的标题栏不能激活 简单java问题!