Identifying multiple/single values of metadata and recording
Steps Involved: 1.OpenVisual Studio 2013(Run as administrator). 2.Go to File=> New => Project. 3.SelectConsole Applicationin theVisual C#node from the installed templates. 4.Enter theNameand click onOk. 5.In the solution explorer,right click onReferencesfolder and then click onAdd Reference. 6.Add the following assemblies from 15 hive (C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions15ISAPI). a.Microsoft.SharePoint.Client.dll b.Microsoft.SharePoint.Client.Runtime.dll c.Microsoft.SharePoint.Client.Taxonomy.dll 7.Open Program.cs file and replace the code with the following
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SharePoint.Client; using Microsoft.SharePoint.Client.Taxonomy; using System.Xml; using System.IO; namespace IdentifyMetadataColumns { class Program { static void Main(string[] args) { ClientContext context = new ClientContext("http://sp2dev/en-us"); ListCollection listsColl = context.Web.Lists; context.Load(listsColl); context.ExecuteQuery(); XmlTextWriter writer = new XmlTextWriter("recordValues.xml",null); writer.Formatting = Formatting.Indented; writer.WriteStartElement("lists"); foreach(List list in listsColl){ writer.WriteStartElement("list"); writer.WriteAttributeString("listName",list.Title); Console.WriteLine(list.Title + ":"); FieldCollection collField = list.Fields; context.Load(collField,fields => fields.Include(field => field.Title)); context.ExecuteQuery(); foreach (Field field in collField) { //if (field is TaxonomyField) { // Console.WriteLine("success---------"); // return; //} TaxonomyField taxFiled = field as TaxonomyField; if (taxFiled != null) { try { context.Load(taxFiled); context.ExecuteQuery(); if (taxFiled.AllowMultipleValues) { //Multiple Console.WriteLine("t" + taxFiled.InternalName + "t"+"Multiple"); writer.WriteStartElement("MetadataColumn"); writer.WriteAttributeString("name",taxFiled.InternalName); writer.WriteElementString("values","Multiple"); writer.WriteEndElement(); } else { //Single Console.WriteLine("t" + taxFiled.InternalName + "t" + "Single"); writer.WriteStartElement("MetadataColumn"); writer.WriteAttributeString("name","Single"); writer.WriteEndElement(); } continue; }//try end catch (ArgumentException exception) { Console.WriteLine("fail"); throw new ArgumentOutOfRangeException(Resources.GetString("AllFieldsNotFetched"),exception); } }//if end }//foreach field end writer.WriteEndElement(); }//foreach list end writer.WriteEndElement(); writer.Close(); Console.ReadLine(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |