Есть ли способ получить сохраненный путь XDocument (имя файла) из самого объекта XDocument?
Я имею в виду получить сохраненный путь после того, как я уже сохранил объект XDocument. Примерно так:
XDocument xDoc = new XDocument(); xDoc.Save(@"C:\Temp\MyXmlDoc.xml"); string str = xDoc.SavedPath() // <== something like this
Если вы загружаете XDocument из файла, свойство BaseUri будет содержать имя файла. Как указано в MSDN :
XDocument
BaseUri
Иногда XmlReader имеет базу URI, а иногда и нет. За Например, при загрузке из файла, XmlReader знает базовый URI, но при чтении из XmlReader, который был создан из-за вызова Метод разбора, нет возможности XmlReader сообщает базовый URI; XML был в строке.
Однако это не устанавливается при сохранении документа, только во время операций загрузки. Поэтому, если вам нужно знать путь сохранения, вам нужно будет сохранить его независимо от экземпляра XDocument при сохранении.
Нет, XDocument не запоминает, куда он был сохранен.
Вы должны самостоятельно запомнить путь, например,
XDocument xDoc = new XDocument(); string str = @"C:\Temp\MyXmlDoc.xml"; xDoc.Save(str);