【问题标题】:Convert Generic List of objects to SqlXml将对象的通用列表转换为 SqlXml
【发布时间】:2013-05-24 04:39:02
【问题描述】:

请不要在未通读的情况下标记为重复,因为我一直在谷歌搜索并在 stackoverflow 上搜索,但我找不到我想要的。

如何将 c# 中的通用对象列表转换为数据类型 SqlXml。

请注意,我并不是要转换成 xml 字符串输出。

我特别需要这个输出类型,所以我可以将它作为 SqlXml 参数传递给存储过程。

【问题讨论】:

  • 大声笑。我知道有人会在不阅读的情况下将其标记为重复,因为它看起来像其他问题,但有细微的不同
  • 然后尝试不同的序列化程序,例如XSerializer
  • 如果 XML 序列化太慢,您是否尝试过简单地迭代您的列表并动态创建 XmlWriter/XmlDocument?
  • 序列化为MemoryStream,将流设置回位置0,然后实例化SqlXml传递流。

标签: c# xml xmldocument generic-list


【解决方案1】:

基于约翰·桑德斯的建议

MemoryStream memoryStream = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(TypeOfObjectToBeConverted));
XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
xs.Serialize(xmlTextWriter, objectToBeConverted);
memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
memoryStream.Position = 0;
System.Data.SqlTypes.SqlXml obj = new System.Data.SqlTypes.SqlXml(memoryStream);

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多