C# 将字符串列表转换为xml

C# 将字符串列表转换为xml,c#,wpf,xml,C#,Wpf,Xml,我的一个数据库表有很多记录,其中一列包含以字符串形式存储的xml数据。检索此数据并解析字符串以获取我希望绑定到UI的特定信息的最佳方法是什么。目前我正在这样做- my Customer表的数据列将xml数据存储为字符串 List<string> myData = new List<string>(); //populate the list with the data from the customer table List<XElement> myXmlDa

我的一个数据库表有很多记录,其中一列包含以字符串形式存储的xml数据。检索此数据并解析字符串以获取我希望绑定到UI的特定信息的最佳方法是什么。目前我正在这样做-

my Customer表的数据列将xml数据存储为字符串

List<string> myData = new List<string>();
//populate the list with the data from the customer table
List<XElement> myXmlData = new List<XElement>();
foreach (var item in myData)
 {
      XElement xmlItem = XElement.Parse(item);
      myXmlData.Add(xmlItem);
 }

this.DataContext = myXmlData;
List myData=new List();
//使用customer表中的数据填充列表
List myXmlData=新列表();
foreach(myData中的var项)
{
XElement xmlItem=XElement.Parse(item);
myXmlData.Add(xmlItem);
}
this.DataContext=myXmlData;
然后,我将使用一个数据模板绑定到xml数据,我需要使用以下方法

<TextBlock Text="{Binding Path=Element[Name].Value}"/>


这是正确的,但我不确定这是否是正确的做法。性能是一个问题,那么这样做是否会提高性能?

你说性能是一个问题,但你衡量过吗?这是个问题吗?这应该是你的第一道攻击线

就代码而言,我会更彻底地使用LINQ:

List<XElement> myXmlData = myData.Select(XElement.Parse).ToList();
this.DataContext = myXmlData;

根据您需要从XML数据中获取的特定信息(您的问题不清楚XML是否实际存储为字符串,或者这是否是您的目标?),您是否考虑过将其反序列化为对象,然后从中提取相关数据


XSD是一个很棒的.NET工具,它可以通过自动为您创建类来帮助您实现这一点。WPF中的googlexml数据绑定中有一些信息
List<XElement> myXmlData = myData.Select(x => XElement.Parse(x)).ToList();
this.DataContext = myXmlData;
this.DataContext = dbContext.Customers
                            .Select(c => c.CustomerXml)
                            .AsEnumerable() // Out of LINQ to SQL or whatever
                            .Select(XElement.Parse)
                            .ToList();