Friday, October 23, 2009

Gestire le liste di SharePoint: Convertire XmlNode in IEnumerable<XElement>

Richiedendo l’elenco delle liste tramite il metodo GetListCollection del Lists Web Service di Microsoft Office SharePoint 2007 otterremo dei valori in formato xml:

    
    
    ...
    
I dati vengono forniti di tipo XmlNode. Personalmente trovo più comodo lavorare con le XElement di Linq.
Per poter ottenere un elenco di elementi si può creare un Extension Method come quello che segue:
public static IEnumerable ConvertMOSSListXmlNodeToElements(this XmlNode node) 
{ 
    XDocument results = XDocument.Parse(node.OuterXml); 
    XNamespace xmlns = XNamespace.Get("http://schemas.microsoft.com/sharepoint/soap/"); 

    return results.Root.Elements(xmlns + "List").AsEnumerable();
}

Ciao

No comments:

Post a Comment