SharePoint - Adding Field as XML


I was basically trying to hook up a SharePoint Field to a document library in my site, I know there are different approaches like using UI, writing code that one can follow to add desired field directly but here is something new I came across, Adding Field as XML..:)

What is this approach all about? This is like creating a Site Column (Field Element) by using feature (I hope I am right)

We can create a field on the fly and provide some attributes like ID, Type, DisplayName, Name, Required....

This is what I did for attaching a Note Type Field to a document library.

using (SPSite site = new SPSite(http://YourSite))
{
  
using (SPWeb web = site.RootWeb)
   {
     
SPList docList = web.Lists["Documents"];
     
if (docList != null)
      {
        
XmlDocument doc = new XmlDocument();
        
XmlElement xmlElement = doc.CreateElement("Field");
         xmlElement.SetAttribute(
"ID", "0F7A6C90-8715-4aa7-90FE-3491DC8953C7");   //ID can be any GUID       
         xmlElement.SetAttribute(
"Type", "Note");
         xmlElement.SetAttribute(
"Name", "UserNote");
         xmlElement.SetAttribute(
"DisplayName", "UserNote");
         xmlElement.SetAttribute(
"Required", "FALSE");

         docList.Fields.AddFieldAsXml(xmlElement.OuterXml);
         docList.Update();

         Console.WriteLine("Added Field As XML");
     
}
   }
}

Up Next
    Ebook Download
    View all
    Learn
    View all