我正在尝试从Windows窗体应用程序中的路径加载xml文件。
public static ClassLayout GetClassLayout()
{
XmlDocument doc = new XmlDocument();
doc.Load(Environment.CurrentDirectory + @"Files\Class.xml");
return Serializer.XmlDeserialize<ClassLayout>(doc.OuterXml);
}
但是在达到doc.Load线路时,它已经卡住了。我没有得到任何结果。
答案 0 :(得分:1)
尝试合并路径 - environment.currentdirectory不以&#34; \&#34;
结尾public static ClassLayout GetClassLayout()
{
XmlDocument doc = new XmlDocument();
doc.Load(System.IO.Path.Combine(Environment.CurrentDirectory, @"Files\Class.xml"));
return Serializer.XmlDeserialize<ClassLayout>(doc.OuterXml);
}
答案 1 :(得分:1)
首先,您需要确保Environment.CurrentDirectory
符合您的想法。如果这是正确的,问题是返回的值很可能在其末尾没有\
,因此它可能正在寻找类似C:\WindowsFiles\Class.xml
的内容。
创建目录和文件路径的最佳方法是使用Path.Combine
,它将处理尾部斜杠:
public static ClassLayout GetClassLayout()
{
XmlDocument doc = new XmlDocument();
doc.Load(Path.Combine(Environment.CurrentDirectory, @"Files\Class.xml"));
return Serializer.XmlDeserialize<ClassLayout>(doc.OuterXml);
}
答案 2 :(得分:0)
您可能会将CurrentDirectory附加到文件。尝试:
doc.Load(Environment.CurrentDirectory + @"\Files\Class.xml");