XDocument文件名

Sat*_*ies 3 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
Run Code Online (Sandbox Code Playgroud)

Jef*_*tes 6

如果XDocument从文件加载,则该BaseUri属性将包含文件名.如MSDN中所述:

有时XmlReader具有基URI,有时则不具有.例如,从文件加载时,XmlReader知道基URI,但是当读取由于调用Parse方法而创建的XmlReader时,XmlReader不可能报告基URI; XML是一个字符串.

但是,仅在加载操作期间保存文档时不会设置此项.因此,如果您需要知道保存路径,则需要XDocument在保存时独立于实例存储该路径.