Загрузка файлс с удаленного сервера в xml
От: TheAteist  
Дата: 15.09.09 09:30
Оценка:
Я пришу на C#

На определенном сервере лежит файл который каждые пару секунд апдейтится.
Как с моего компа, программно, я могу загрузить этот файл в xml. Что я должен написать вместо ???

strin path = ????
XmlDocument xmlDoc = new XmlDocument();            
 xmlDoc.Load(path);


Большое спасибо.
Re: Загрузка файлс с удаленного сервера в xml
От: OrSol  
Дата: 15.09.09 09:37
Оценка: -1 :)
Здравствуйте, TheAteist, Вы писали:

TA>strin path = ????

TA>Как с моего компа, программно, я могу загрузить этот файл в xml. Что я должен написать вместо ???

что-то типа GetFileFromServer() а там уже использовать HttpGetRequert
Re[2]: Загрузка файлс с удаленного сервера в xml
От: TheAteist  
Дата: 15.09.09 10:15
Оценка:
Здравствуйте, OrSol, Вы писали:

OS>что-то типа GetFileFromServer() а там уже использовать HttpGetRequert

А можно пример как достать тот файл использую HttpGetRequert?
Re: Загрузка файлс с удаленного сервера в xml
От: HowardLovekraft  
Дата: 15.09.09 10:45
Оценка:
Здравствуйте, TheAteist, Вы писали:

TA>На определенном сервере лежит файл

По какому протоколу вы можете достучаться до этого сервера?
Re[2]: Загрузка файлс с удаленного сервера в xml
От: TheAteist  
Дата: 15.09.09 12:52
Оценка: :))
Здравствуйте, HowardLovekraft, Вы писали:

HL>По какому протоколу вы можете достучаться до этого сервера?

По IP.
Так что я должен написать?
Re[3]: Загрузка файлс с удаленного сервера в xml
От: HowardLovekraft  
Дата: 15.09.09 13:17
Оценка:
Здравствуйте, TheAteist, Вы писали:

TA>По IP.

Хорошо, что не ответили по ethernet.
Я имел ввиду что-то повыше уровнем. SMB или HTTP, например.
Re[4]: Загрузка файлс с удаленного сервера в xml
От: TheAteist  
Дата: 15.09.09 15:09
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

HL>Я имел ввиду что-то повыше уровнем. SMB или HTTP, например.

. Мда, сглупил

Я имел ввиду по HTTP
Re[5]: Загрузка файлс с удаленного сервера в xml
От: HowardLovekraft  
Дата: 15.09.09 16:00
Оценка:
Исхожу из того, что сервер может принять некий GET-запрос и в ответ на него отдать поток данных, который состоит из содержимого вашего файла:

1. Выполняете запрос через HttpWebRequest
2. Получаете ответ на запрос — экземпляр HttpWebResponse
3. Получаете поток данных ответа через метод HttpWebResponse.GetResponseStream
4. Далее, теоретически, можно передать полученный поток методу XmlDocument.Load(Stream).

Лень ковырять реализацию этого метода рефлектором, но боюсь, что на практике Load вычитает все, что есть в потоке и попытается распарсить это в XML.
Учитывая то, что полученный stream ответа — это, ЕМНИП, NetworkStream, то данные в него могут приходить кусками, и тогда Load вполне может свалится с исключением, не дождавшись всех данных.

Если это так, вычитывайте данные ответа до конца в какой-нибудь временный MemoryStream/FileStream, а уже после скормите его методу Load.
Re[5]: Загрузка файлс с удаленного сервера в xml
От: Мизантроп  
Дата: 15.09.09 16:55
Оценка: +1
Здравствуйте, TheAteist, Вы писали:

TA>Здравствуйте, HowardLovekraft, Вы писали:


HL>>Я имел ввиду что-то повыше уровнем. SMB или HTTP, например.

TA>. Мда, сглупил

TA>Я имел ввиду по HTTP


Попробуйте просто передать методу Load URL докумкнта. MSXML с этим справляется, почему-бы и нетовскому не справиться, попробуйте.
"Нормальные герои всегда идут в обход!"
Re[6]: Загрузка файлс с удаленного сервера в xml
От: TheAteist  
Дата: 15.09.09 20:45
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

HL>Исхожу из того, что сервер может принять некий GET-запрос и в ответ на него отдать поток данных, который состоит из содержимого вашего файла:


HL>1. Выполняете запрос через HttpWebRequest

HL>2. Получаете ответ на запрос — экземпляр HttpWebResponse
HL>3. Получаете поток данных ответа через метод HttpWebResponse.GetResponseStream
HL>4. Далее, теоретически, можно передать полученный поток методу XmlDocument.Load(Stream).

HL>Лень ковырять реализацию этого метода рефлектором, но боюсь, что на практике Load вычитает все, что есть в потоке и попытается распарсить это в XML.

HL>Учитывая то, что полученный stream ответа — это, ЕМНИП, NetworkStream, то данные в него могут приходить кусками, и тогда Load вполне может свалится с исключением, не дождавшись всех данных.

HL>Если это так, вычитывайте данные ответа до конца в какой-нибудь временный MemoryStream/FileStream, а уже после скормите его методу Load.


Я хочу пояснить где находится файл:
Файл находится на сервере и я сделал его SHARED. Когда я сделал его SHARED высветелось, что файл находится в "myserver-dc/ECalendar/qChanges.xml". А IP того сервера(myserver-dc) это my_ip. Теперь я пытаюсь достучатся до него через "\\my_ip\ECalendar\qChanges.xml", но не получается?
Почему? Правильно ли я поступил, что сделал его SHARED, чтоб добратся до него программно? Если нет, что я должен сделать?

Большое спасибо
Re[7]: Загрузка файлс с удаленного сервера в xml
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 16.09.09 01:51
Оценка:
Здравствуйте, TheAteist, Вы писали:

TA>Я хочу пояснить где находится файл:

TA>Файл находится на сервере и я сделал его SHARED. Когда я сделал его SHARED высветелось, что файл находится в "myserver-dc/ECalendar/qChanges.xml". А IP того сервера(myserver-dc) это my_ip. Теперь я пытаюсь достучатся до него через "\\my_ip\ECalendar\qChanges.xml", но не получается?
TA>Почему? Правильно ли я поступил, что сделал его SHARED, чтоб добратся до него программно? Если нет, что я должен сделать?

TA>Большое спасибо


И где тут HTTP? Это ж сабма
[КУ] оккупировала армия.
Re[8]: Загрузка файлс с удаленного сервера в xml
От: TheAteist  
Дата: 16.09.09 06:41
Оценка:
Здравствуйте, koandrew, Вы писали:

K>И где тут HTTP? Это ж сабма

Так что же мне сделать?
Re[7]: Загрузка файлс с удаленного сервера в xml
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.09.09 07:52
Оценка: +1
Здравствуйте, TheAteist, Вы писали:
TA>Я хочу пояснить где находится файл:
TA>Файл находится на сервере и я сделал его SHARED. Когда я сделал его SHARED высветелось, что файл находится в "myserver-dc/ECalendar/qChanges.xml". А IP того сервера(myserver-dc) это my_ip. Теперь я пытаюсь достучатся до него через "\\my_ip\ECalendar\qChanges.xml", но не получается?
TA>Почему?
Я думаю, потому, что ты вообще не понимаешь, что и как работает в компьютере. Совершенно непонятно, что там у тебя за сервер — стоит в твоём офисе, у провайдера, или ещё где-то.
Совершенно непонятно, по какому протоколу ты обращаешься к этому серверу.

TA>Правильно ли я поступил, что сделал его SHARED, чтоб добратся до него программно? Если нет, что я должен сделать?

Для начала научись его открывать у себя на машине вручную. Скорее всего, его адрес — "\\myserver-dc\ECalendar\qChanges.xml".
Как только ты научишься это делать, можешь попробовать начать скармливать получившийся путь к файлу в XmlDocument.Load().
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.