2009-07-08 3 views
1

Où MSXML IXMLDOMDocument :: save sauvegarde-t-il? Je veux dire quand il est appelé avec un argument de nom de fichier.Où MSXML IXMLDOMDocument :: hors sauvegarde est-il sauvegardé?

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

Où sera "C: \ pathto \ mydoc.xml"?

Considérez que le XMLDOMDocument est hors processus, dans ce cas situé sur une machine physique différente. Va-t-il l'enregistrer sur "C: ..." de la machine appelante ou du serveur hébergeant l'objet COM?

+0

Vous devez remplacer cette valeur par l'emplacement réel dans lequel vous souhaitez enregistrer, par exemple, L "C: \\ Documents and Settings \\ Propriétaire \\ Mes documents \\ Some Document.xml". –

Répondre

1

Il sera à l'emplacement que vous lui donnez sur votre système local. La fonction save interprète son argument en tant que chemin et nom de fichier si vous lui donnez une chaîne, c'est donc le fichier dans lequel l'objet enregistre son contenu. Le fichier n'a pas besoin d'exister au préalable, mais les répertoires doivent l'être. Outre les chaînes, la fonction save peut également accepter certains autres types d'arguments, notamment «un objet ASP Response, un objet de document XML ou un objet personnalisé prenant en charge la persistance». Voir the documentation pour plus de détails.

+0

Supposons que l'extrait de code s'exécute sur PC1 et que doc pointe vers un objet COM sur PC2, qu'est ce que le "système local"? Celui sur PC1 ou celui sur PC2? –

+0

PC2, j'imagine. Qu'est-il arrivé quand vous l'avez essayé? –

+1

Il s'est avéré être sur PC2 comme vous l'imaginez correctement. –