使用WCF编写服务,涉及到xml的读取,使用了System.AppDomain.CurrentDomain.BaseDirectory来获取路径,获得的是项目的基目录 例如: string path = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @Data.xml); xml文件: ?xmlversion= 1.0 encoding= utf-8 ? Users User UserName Sky300 /Us
  

  使用WCF编写服务,涉及到xml的读取,使用了System.AppDomain.CurrentDomain.BaseDirectory来获取路径,获得的是项目的基目录

  例如:

  string path = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @"Data.xml");

  xml文件:

<?xml version="1.0" encoding="utf-8" ?>
<Users>
<User>
<UserName>Sky300</UserName>
<Password>123</Password>
<Age>25</Age>
</User>
<User>
<UserName>QYB</UserName>
<Password>123</Password>
<Age>25</Age>
</User>
<User>
<UserName>ZJ</UserName>
<Password>123</Password>
<Age>25</Age>
</User>
</Users>

  WCF的服务的实现:

public List<UserInfo> GetData()
{
List<UserInfo> list = new List<UserInfo>();
string path = System.IO.Path.Combine(Environment.CurrentDirectory, @"Data.xml");
string path1 = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @"Data.xml");
XDocument xmldoc=XDocument.Load(path1);
var users = xmldoc.Descendants("User");
foreach (var item in users)
{
UserInfo info = new UserInfo();
info.UserName = item.Element("UserName").Value;
info.Password = item.Element("Password").Value;
info.Age =Convert.ToInt32(item.Element("Age").Value);
list.Add(info);
}
return list;
}

  在WPF中涉及到xml的读取,使用了Environment.CurrentDirectory

  例如:

  string path = System.IO.Path.Combine(Environment.CurrentDirectory, @"Data.xml");

  1. Application.StartupPath——获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。

  2. Environment.CurrentDirectory——获取和设置当前目录(即该进程从中启动的目录)的完全限定路径,只是“当前”目录,不一定是exe文件所在的目录。在用FileOpenDialog选择一个文件以后这个目录就跟着发生改变了。

  3. Application.ExecutablePath——获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

WCF和WPF读取xml的路径问题的更多相关文章

  1. Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法

    1.调用服务时服务 当我们使用 Web Service 或 WCF 服务时,常把读取的数据转化为string类型(xml格式),当数据量达到一 定数量时,会出现以下异常: 错误:格式化程序尝试对消息反 ...

  2. wcf序列化大对象时报错:读取 XML 数据时,超出最大

    错误为: 访问服务异常:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出 错: request.InnerException 消息是“反序 ...

  3. Java获取路径方法&相对路径读取xml文件方法

    (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...

  4. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  5. C# 递归读取XML菜单数据

    在博客园注册了有4年了,很遗憾至今仍未发表过博客,趁周末有空发表第一篇博客.小生不才,在此献丑了! 最近在研究一些关于C#的一些技术,纵观之前的开发项目的经验,做系统时显示系统菜单的功能总是喜欢把数据 ...

  6. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

    前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...

  7. MFC如何读取XML

    <?xml version="1.0" encoding="utf-8"?> <Cases> <case> <No&g ...

  8. java DOM4J 读取XML

    最近学习Java,在处理XML文档的时候,查阅相关资料,发现了DOM4J这个jre库,相对C#的XML处理来说,功能还算是跟得上 下面展示一篇我自己写的一个XML读取测试 import java.ut ...

  9. C#中常用的读取xml的几种方法(转)

    本文完全来源于http://blog.csdn.net/tiemufeng1122/article/details/6723764,仅作个人学习之用. XML文件是一种常用的文件格式,例如WinFor ...

随机推荐

  1. Who is the best at Dataset X?

    推荐一个关于分类.目标检测.姿态估计的数据集收藏的网页. Did you ever want to quickly learn?which paper provides the best result ...

  2. 【转】类中如何引用server.MapPath()

    转至:http://blog.csdn.net/tangjianft/article/details/5357151 今天在写一个上传图片方法时遇到了两个问题:1.public string getI ...

  3. Operation not applicable

    ClientDataSet.DataSetProvider1 Operation not applicable ClientDataSet1->Open(); 解决办法 1.update new ...

  4. POJ 1410 Intersection(判断线段交和点在矩形内)

    Intersection Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9996   Accepted: 2632 Desc ...

  5. JAVA应用apache httpclient探测http服务

    代码很简单,apache都已经提供了封装. import org.apache.commons.httpclient.HttpClient; import org.apache.commons.htt ...

  6. 使用logmnr方法找回被误删除Oracle的数据的脚本

    俗话说,常在河边走,哪有不湿鞋的.作为一个经常与数据库打交道的程序员,偶尔不小心误删除或误操作的数据也是在所难免的.如果是Oracle数据库,这里给您介绍一种从日志中找回数据的办法,下面这个地址是我以 ...

  7. Android PHP 通过JSON进行数据交互

    一.首先是Android客户端解析PHP返回的JSON数据 1.PHP代码(这里用到了数据库,如果没有准备数据库的话,可以自定义字符串) <?php $link=mysql_connect(SA ...

  8. [置顶] DataGridView控件---绑定数据方法

             DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...

  9. maven 配置文件详解

    <projectxmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.org/20 ...

  10. C#扫描仪编程、条形码识别编程资料

    扫描仪编程资料:http://www.cnblogs.com/wubh/archive/2011/11/07/2239178.html 图片条形码识别资料:http://www.codeproject ...