每当我尝试将某些内容保存到我创建的XML文档时,我使用的路径一直都是错误的。 这是代码:
public string ToXml<T>(T obj, string path)
{
var saveToXmlPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), path);
using (var stringWriter = new StreamWriter((saveToXmlPath)))
{
var xmlSerializer = new XmlSerializer(typeof(ObservableCollection<object>));
xmlSerializer.Serialize(stringWriter, obj);
return stringWriter.ToString();
}
}
public Constructor()
{
var temp = new ObservableCollection<Model> {
new Model { ID = 1, Name = "Name1" },
new Model { ID = 2, Name = "Name2" },
new Model { ID = 3, Name = "Name3" } };
ToXml(temp, @"Common\Assets\XML\XmlFile.xml");
}
它一直说路径错误,不断添加/ debug / big到路径。
答案 0 :(得分:0)
在此行上设置断点:
var saveToXmlPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), path);
它说什么?
Assembly.GetEntryAssembly()。位置正在为您的路径添加/调试。
答案 1 :(得分:0)
首先,您的“问题”与 XML 无关。你想知道为什么Assembly.GetEntryAssembly().Location
给你“... / bin / Debug”。
其次......根据您实际提供的信息,实际上根本没有问题;只是你的误解。 Assembly.GetEntryAssembly().Location
会为您提供执行“ .exe ”文件(您的应用)的位置。在这种情况下,默认情况下,它确实位于“bin / Debug”文件夹中。如果您希望将XML文件写在其他地方,那么如果您指定其他地方应该在哪里,那将会很有帮助。