2009-07-08 3 views
1

Где MSXML IXMLDOMDocument :: save save? Я имею в виду, когда он вызывается с аргументом имени файла.Где находится вне процесса MSXML IXMLDOMDocument :: save save?

CComPtr<IXMLDOMDocument> doc; 
p->get_doc(&doc); 
doc->save(CComVariant(L"C:\\pathto\\mydoc.xml")); 

Где будет "C: \ pathto \ mydoc.xml"?

Учтите, что XMLDOMDocument не работает, в этом случае находится на другой физической машине. Будет ли он сохранять его на «C: ...» вызывающей машины или на сервере, на котором размещен COM-объект?

+0

Ожидается, что вы измените это на реальное место, где вы хотите сохранить, например, L "C: \\ Документы и настройки \\ Владелец \\ Мои документы \\ Некоторые документы.xml". –

ответ

1

Это будет место, которое вы дадите ему в вашей локальной системе. Функция save интерпретирует свой аргумент как путь и имя файла, если вы даете ему строку, так что это файл, в который объект сохраняет его содержимое. Файл не должен существовать заранее, но каталогов следует.

В дополнение к строкам функция save может также принимать некоторые другие типы аргументов, включая «объект ответа ASP, объект документа XML» или пользовательский объект, который поддерживает сохранение ». См. the documentation.

+0

Предположим, что фрагмент кода работает на PC1, а doc указывает на COM-объект, который находится на PC2, что такое «локальная система»? Один на ПК1 или один на ПК2? –

+0

PC2, я бы мог подумать. Что случилось, когда вы попробовали? –

+1

Это было на PC2, как вы правильно представляете. –