table to xml record c#

时间:2016-02-23 12:23:55

标签: c# xml linq

我需要在我的SQL Server DB中存储同一列中的许多记录,并且我使用XML字段。在后端我有代码读取/写入xml记录并将数据插入表中。表格是可变大小。我在从表中读取字段并将它们插入到xml变量中时遇到问题。 我需要得到的是:

<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() ));

1 个答案:

答案 0 :(得分:0)

我发布此信息只是为了确保答案清晰显示。积分去Panagiotis Kanavos。问题是xml的标签中有一个空格。而不是:

 <smalltag 1> something </smalltag 1> 

应该是

<smalltag1> something</smalltag1>