2016-02-23 3 views
2

Мне нужно сохранить в моем БД SQL Server множество записей в том же столбце, и я использую поле XML для этого. На сервере есть код, который читает/записывает записи xml и вставляет данные в table.The таблица имеет переменный размер. У меня проблема с чтением полей из таблицы и вставка их в переменную xml. Что мне нужно, чтобы получить это:таблица для записи xml C#

<BigTag> 
<SmallTagName1> something</SmallTagName1> 
<SmallTagName2> thanksForanswering</SmallTagName2> 
<SmallTagName3> youareawesome</SmallTagName3> 
</BigTag> 

Стол:

smalltagTable[] = {something,thanksForanswering,youareawesome,....} 

вот мой код:

XElement WidgetListE1 = null; 

WidgetListE1 = new XElement("BigTag" ); 

string smalltagname = "smalltag "; 
string smalltagdata; 

for(int i=0;i<smalltagTable.Length; i++) 
{ 
    SmallTagname = "smallTagName " + i; 
    smalltagdata = smalltagTable[i]; 
    WidgetListE1.Add(new XElement(smallTagName.ToString(),SmalltagData.ToString())); 
} 

string a2 = WidgetListE1.ToString(); 

Проблема заключается в том, что этот код попадает в ошибку:

Символ '', шестнадцатеричное значение 0x20, не может быть включен в имя. на линии:

WidgetListE1.Add(new XElement(smallTagName.ToString(),SmalltagData.ToString())); 
+0

Этот фрагмент не читает данные из базы данных. Что * является * актуальным вопросом? Как читать XML-поля из таблицы SQL Server или как построить строку XML из массива строк? –

+0

В чем же ваша проблема? – RePierre

+0

PS SQL Server уже имеет тип XML. Опубликованный фрагмент XML, хотя, вероятно, является плохим выбором, поскольку элементы тега разные. Лучше использовать одно и то же имя тега, т. Е. 'SmallTagName', и либо сохранить упорядоченные поля (XML сохраняет порядок), либо добавить атрибут' order'. В противном случае вам понадобится другой код для чтения Tag1, Tag2, Tag3 и т. Д. –

ответ

0

Я отправляю это просто, чтобы убедиться, что ответ появится ясно. Кредиты идут в Panagiotis Kanavos. Проблема заключалась в том, что в теге xml было место. вместо того, чтобы:

<smalltag 1> something </smalltag 1> 

Это должно быть

<smalltag1> something</smalltag1> 
+1

Вы можете превратить его в сообщество wiki ;-) – t3chb0t

Смежные вопросы