2009-08-18 8 views
1

Je suis en mesure de supprimer un document dans une liste en utilisant ce morceau de code:Comment mettre à jour un document d'une liste de sharepoint en utilisant UpdateListItems

// string fileRef = "folder/myplan.doc" 
private void DeleteDocument(string fileRef, string listGuid) 
{ 
    string strBatch = "<Method ID=\"1\" Cmd=\"Delete\">" + 
     "<Field Name=\"ID\">1</Field>" + 
     "<Field Name=\"FileRef\">" + fileRef + "</Field>" + 
     "</Method>"; 

    XmlDocument xmlDoc = new System.Xml.XmlDocument(); 
    System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch"); 
    elBatch.SetAttribute("OnError", "Continue"); 
    elBatch.SetAttribute("ListVersion", "1"); 
    elBatch.InnerXml = strBatch; 

    try 
    { 
     XmlNode ndReturn = lists.UpdateListItems(listGuid, elBatch); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

Comme vous pouvez le voir, je dois préciser le fileRef, cela indiquera sharepoint quel fichier je voudrais supprimer. Cependant, je ne suis pas capable de mettre à jour le nom de document d'une liste de la même manière. Il n'y a pas d'erreur retournée, le nom ne change pas.

Les informations d'identification du service Web "lists" sont correctes. C'est ce que je peux garantir. Le document spécifié dans fileRef est également correct.

private void UpdateDocument(string fileRef, string listGuid, string newName) 
{ 
    string strBatch = "<Method ID=\"1\" Cmd=\"Update\">" + 
     "<Field Name=\"ID\">1</Field>" + 
     "<Field Name=\"Title\">" + newName + "</Field>" + 
     "<Field Name=\"FileRef\">" + fileRef + "</Field>" + 
     "</Method>"; 

    XmlDocument xmlDoc = new System.Xml.XmlDocument(); 
    System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch"); 
    elBatch.SetAttribute("OnError", "Continue"); 
    elBatch.SetAttribute("ListVersion", "1"); 
    elBatch.InnerXml = strBatch; 

    try 
    { 
     XmlNode ndReturn = lists.UpdateListItems(listGuid, elBatch); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

Je suis curieux de savoir les exemples ici: http://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems.aspx parce que je ne vois pas où spécifier le document (son guid ou son fileRef), à la fois pour la mise à jour et supprimer. Comment sharepoint sait quel document doit être supprimé/mis à jour?

Je fais quelque chose de mal ou de malentendu quelque chose?

Toute personne a déjà réussi à mettre à jour un document s'il vous plaît partager votre travail. Merci

+0

exacte de duper http: // stackoverflow. com/questions/994173/how-do-je-renommer-un-fichier-en-utilisant-le-sharepoint-web-services –

+0

Merci Alex. C'est ce que je cherche. Cela a fonctionné pour moi. Ce que j'ai découvert est l'ID du fichier/document doit être spécifié dans le champ ID. – tata9999

Répondre

0

Je pense que vous devriez utiliser BaseName au lieu du titre

string strBatch = "<Method ID=\"1\" Cmd=\"Update\">" + 
    "<Field Name=\"ID\">1</Field>" + 
    "<Field Name=\"BaseName\">" + newName + "</Field>" + 
    "<Field Name=\"FileRef\">" + fileRef + "</Field>" + 
    "</Method>"; 
0
"<Field Name=\"ID\">1</Field>" + 

Vous définissez les attributs de l'élément avec l'ID de 1

Questions connexes