Имя файла XDocument - PullRequest
3 голосов
/ 05 мая 2011

Есть ли способ получить сохраненный путь XDocument (имя файла) из самого объекта XDocument?

Я имею в виду получить сохраненный путь после того, как я уже сохранил объект XDocument. Примерно так:

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

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

Ответы [ 2 ]

6 голосов
/ 05 мая 2011

Если вы загружаете XDocument из файла, свойство BaseUri будет содержать имя файла. Как указано в MSDN :

Иногда XmlReader имеет базу URI, а иногда и нет. За Например, при загрузке из файла, XmlReader знает базовый URI, но при чтении из XmlReader, который был создан из-за вызова Метод разбора, нет возможности XmlReader сообщает базовый URI; XML был в строке.

Однако это не устанавливается при сохранении документа, только во время операций загрузки. Поэтому, если вам нужно знать путь сохранения, вам нужно будет сохранить его независимо от экземпляра XDocument при сохранении.

2 голосов
/ 05 мая 2011

Нет, XDocument не запоминает, куда он был сохранен.

Вы должны самостоятельно запомнить путь, например,

XDocument xDoc = new XDocument();
string str = @"C:\Temp\MyXmlDoc.xml";
xDoc.Save(str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...