Я пытаюсь использовать решение Office AMS Core Solution для создания полей выбора с возможными значениями.
Имя не может начинаться с символа '<', шестнадцатеричного значения 0x3C. Строка 1, позиция 133.
Код, который я использую:
if (!ctx.Web.FieldExistsByName("Rating"))
{
string xmlChoices = @"<CHOICES>
<CHOICE>5</CHOICE>
<CHOICE>4</CHOICE>
<CHOICE>3</CHOICE>
<CHOICE>2</CHOICE>
<CHOICE>1</CHOICE>
</CHOICES>";
ctx.Web.CreateField(fieldIdRating, "Rating", FieldType.Choice, "Rating", "Knowledge Transfer Fields", additionalXmlAttributes:xmlChoices);
Field ratingField= ctx.Web.Fields.GetByInternalNameOrTitle("Rating");
}
Я проверил XML, сгенерированный внутри основного решения Office AMS, и обнаружил, что XML-код выбора пытается добавить его в <Field>
, а не как дочерний элемент <Field>
как и должно быть.
Я нашел этот пример здесь, используя 'AddFieldAsXML'
От: http://sneakydev.blogspot.com/2013/05/using-c-csom-to-interact-with.html
Field catField = list.Fields.AddFieldAsXml(@"
<Field Type='Choice' DisplayName='Category' Format='Dropdown'>
<Default>IT</Default>
<CHOICES>
<CHOICE>IT</CHOICE>
<CHOICE>Sales</CHOICE>
</CHOICES>
</Field>", true, AddFieldOptions.DefaultValue);