C# 如何访问底层xml值
我使用以下命令将信息传递给save函数C# 如何访问底层xml值,c#,xml,C#,Xml,我使用以下命令将信息传递给save函数 List<XElement> listElements = new List<XElement>(); listElements.Addnew XElement(@"TextBox", new XElement("name"), new XElement("Type", "System.String"),
List<XElement> listElements = new List<XElement>();
listElements.Addnew XElement(@"TextBox", new XElement("name"),
new XElement("Type", "System.String"),
new XElement("displayName", ""),
new XElement("length", "12"),
new XElement("key", false),
new XElement("required", false)));
listElements.Add(new XElement(@"ClassficationEnum", new XElement("name","TestForm"),
new XElement("Type", "System.String"),
new XElement("displayName", "TestForm"),
new XElement("length", "12"),
new XElement("key", false),
new XElement("required", false)));
为了保存到我的实体,我使用了这个
var q = from forms in portalEntities.FormBuilders
where forms.Name == formName
select forms;
List<FormBuilder> formBuilderRecords = q.ToList();
foreach (FormBuilder formsBuilder in formBuilderRecords)
{
formsBuilder.Name = formName;
formsBuilder.ExtraFields = xml.ToString();
formsBuilder.title = Title;
}
return SaveChanges();
我遇到的问题是,它只是将以下内容保存到数据库中,我如何才能获得所有的值,而不仅仅是这些值
System.Collections.Generic.List`1[System.Xml.Linq.XElement]您可以调用XElement上的.ToString来获取它的Xml标记,但调用List上的.ToString只会打印它的类型。因此,您的问题不是获取底层XML值,而是正确保存XML值
若要将所有这些元素保存为数据库中的单个XML,则需要将它们放在单个根元素中:
.....
var root = new XElement("root", listElements);
.....
portalContext.UpdateFormBuilder(formToUpdate, strName.ToString(), root.ToString());
.....
var root = new XElement("root", listElements);
.....
portalContext.UpdateFormBuilder(formToUpdate, strName.ToString(), root.ToString());