从已安装的路径中读取xml文件

时间:2012-09-26 09:15:54

标签: c#

我为winform创建了一个安装文件。当我运行此安装文件时,应用程序将安装到用户指定的位置。安装还会将一些xml文件复制到该位置。在用户运行应用程序之后,它将从xml文件中读取一些设置。

我想知道的是,因为xml文件的位置是灵活的(用户指定),我们如何知道要读取哪个位置?我们如何在winform编码中指定它应该从安装位置读取?

5 个答案:

答案 0 :(得分:2)

您是否看过Application.ExecutablePath以了解运行时exe的路径,因此这将是您安装的基本目录。

String startingdir = Path.GetDirectoryName(Application.ExecutablePath);
foreach(String Filename in Directory.GetFiles(startingdir,"*.xml")
{
// process
}

答案 1 :(得分:1)

XML文件是否已复制到与可执行文件相同的位置?在这种情况下,您可以使用WinForms应用程序中的Application.ExecutablePath来获取可执行文件的位置,并从那里创建XML文件的路径。

答案 2 :(得分:1)

我试过这个

reader = new XmlTextReader(Application.StartupPath + "\\MyFile.xml");

它工作正常!!

答案 3 :(得分:0)

如果将文件复制到exe的工作文件夹中,则可以使用相对路径(不需要绝对路径)来处理它们。

编辑:这是一个例子

XmlDocument document = new XmlDocument();
document.Load("filename.xml");

这段代码将尝试读取文件 filename.xml ,该文件位于包含exe文件的同一文件夹中。

XmlDocument document = new XmlDocument();
document.Load("somefolder/filename.xml");

并且这个将尝试从位于包含exe的文件夹中的文件夹 somefolder 中读取文件 filename.xml

答案 4 :(得分:0)

我建议的方法是在安装程序中创建一个步骤,用户可以在其中设置文件的位置。把它放在注册表中。并让您的应用程序从注册表中读取它