XDocument文件名

时间:2011-05-05 13:35:25

标签: c# linq linq-to-xml

有没有办法从XDocument对象本身检索XDocument保存的路径(文件名)?

我的意思是在我保存XDocument对象后获取保存的路径。像这样:

XDocument xDoc = new XDocument();
xDoc.Save(@"C:\Temp\MyXmlDoc.xml");

string str = xDoc.SavedPath() // <== something like this

2 个答案:

答案 0 :(得分:6)

如果从文件加载XDocumentBaseUri属性将包含文件名。如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);