有没有办法从XDocument对象本身检索XDocument保存的路径(文件名)?
我的意思是在我保存XDocument对象后获取保存的路径。像这样:
XDocument xDoc = new XDocument();
xDoc.Save(@"C:\Temp\MyXmlDoc.xml");
string str = xDoc.SavedPath() // <== something like this
答案 0 :(得分:6)
如果从文件加载XDocument
,BaseUri
属性将包含文件名。如MSDN中所述:
有时XmlReader有基础 URI,有时它没有。对于 实例,从文件加载时, XmlReader知道基URI,但是 从XmlReader读取时 是因为打电话给我而创建的 解析方法,没有可能 XmlReader报告基URI; XML是一个字符串。
但是,仅在加载操作期间保存文档时不会设置此项。因此,如果您需要知道保存路径,则需要在保存时独立于XDocument
实例存储它。
答案 1 :(得分:2)
不,XDocument不记得保存到的位置。
你必须自己记住这条路,例如
XDocument xDoc = new XDocument();
string str = @"C:\Temp\MyXmlDoc.xml";
xDoc.Save(str);