要把C#中任意类型的泛型集合转换成SQLXML数据格式,需要使用System.Data.SqlTypes.SqlXml类中的CreateReader()方法,该方法用于创建一个XmlReader对象,该对象可以读取SQLXML格式的数据。
以下是一个示例代码,将List
using System.Data.SqlTypes;
using System.Xml;
List<string> list = new List<string>() { "Apple", "Banana", "Orange" };
// 创建一个StringBuilder对象,用于构建XML字符串
StringBuilder sb = new StringBuilder("<root>");
foreach (string value in list)
{
sb.Append("<item>" + value + "</item>");
}
sb.Append("</root>");
SqlXml sqlXml = new SqlXml();
// 创建一个XmlReader对象
XmlReader reader = XmlReader.Create(new StringReader(sb.ToString()));
// 使用CreateReader()方法将XmlReader对象转换为SqlXml对象
stXml.Value = sqlXml.CreateReader();
以上代码中,我们先构造了一个StringBuilder对象,用于构建XML字符串。然后遍历泛型集合List
下面是另一个示例代码,将List
using System.Data.SqlTypes;
using System.Xml;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
List<Person> personList = new List<Person>()
{
new Person() { Name = "Bob", Age = 20, Gender = "Male" },
new Person() { Name = "Alice", Age = 22, Gender = "Female" },
new Person() { Name = "Tom", Age = 25, Gender = "Male" }
};
// 创建一个StringBuilder对象,用于构建XML字符串
StringBuilder sb = new StringBuilder("<root>");
foreach (Person person in personList)
{
sb.Append("<Person>");
sb.Append("<Name>" + person.Name + "</Name>");
sb.Append("<Age>" + person.Age + "</Age>");
sb.Append("<Gender>" + person.Gender + "</Gender>");
sb.Append("</Person>");
}
sb.Append("</root>");
SqlXml sqlXml = new SqlXml();
// 创建一个XmlReader对象
XmlReader reader = XmlReader.Create(new StringReader(sb.ToString()));
// 使用CreateReader()方法将XmlReader对象转换为SqlXml对象
sqlXml.Value = sqlXml.CreateReader();
以上代码中,我们定义了一个Person类作为List
总结来说,将任意类型的泛型集合转换成SQLXML数据格式的过程,就是将泛型集合中的元素遍历并构建成符合XML格式的字符串,再使用CreateReader()方法将XML字符串转换为SqlXml对象,最后将该对象保存到数据库中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中把任意类型的泛型集合转换成SQLXML数据格式的实例 - Python技术站