相关疑难解决方法(0)

C#:以XML格式存储字节数组

在XML中存储Byte []数组的简单方法是什么(使用C#)?

.net c# xml bytearray

18
推荐指数
1
解决办法
2万
查看次数

在XML文件中序列化和存储图像

有一点问题.我有一个程序,可以构建一个可观察的用户集合.用户有名字,姓氏和图像.我可以将用户添加到observable集合中,但我也想保存集合并在每次重新打开程序时加载它.

我的问题是,虽然保存名字和姓氏相当容易,但编写者无法将图像写入xml文件.有没有办法解决?

这是我到目前为止所拥有的:

可观察的集合:

ObservableCollection<VendorClass> ProfileList = new ObservableCollection<VendorClass>();
Run Code Online (Sandbox Code Playgroud)

有问题的作家:

XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<VendorClass>));
        using (StreamWriter wr = new StreamWriter("vendors.xml")) //Data/customers.xml
        {
            xs.Serialize(wr, ProfileList);
        }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?如果确实存在写入图像的解决方案,是否有可行的方法再次读出它?

c# wpf serialization image observablecollection

3
推荐指数
1
解决办法
1万
查看次数

数据序列化WPF

对不起,这个问题似乎很愚蠢.我已经研究了一些关于这个主题的网页,但我不确定它们对我的问题有多重要.我有一个2D地图设计师.我想保存地图,以便我可以加载它并在其上玩游戏.我对序列化很新,我想知道我应该研究哪些文档,以及是否有人可以指向一些与我的序列化任务相关的网页.这是数据结构:

    public class ModelMap
    {
        public ModelMap()
        {
            this.cellBgImage = new Image();
            this.exitImage = new Image();
            this.theseus = new Image();
            this.minotaur = new Image();
        }

        public int rows { get; set; }
        public int cols { get; set; }
        public int boardXPos { get; set; }
        public int boardYPos { get; set; }
        public int myCellSize { get; set; }
        public Image cellBgImage { get; set; }
        public string HorizontalWallSource { get; set; }
        public string VerticalWallSource { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# wpf serialization deserialization

3
推荐指数
1
解决办法
7616
查看次数

C#:为什么实现Serializable的对象无法序列化?

我正在运行桌面应用程序,当我到达此行时:

serializer.Serialize(new StringWriter(sb), value);
Run Code Online (Sandbox Code Playgroud)

它抛出以下错误:

There was an error generating the XML document.
Run Code Online (Sandbox Code Playgroud)

这是代码:

public static string Serialize(object value)
    {
        var serializer = new XmlSerializer(value.GetType());
        var sb = new StringBuilder();
        serializer.Serialize(new StringWriter(sb), value);
        return sb.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

当我调试时,我在Watch部分看到了这个:

    value.GetType().IsSerializable  true    bool
Run Code Online (Sandbox Code Playgroud)

我在声明的类之前设置它:

[Serializable]
Run Code Online (Sandbox Code Playgroud)

先感谢您.

例外细节

            System.InvalidOperationException was unhandled by user code
              Message="There was an error generating the XML document."
              Source="System.Xml"
              StackTrace:
                   at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
                   at System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces) …
Run Code Online (Sandbox Code Playgroud)

c# serialization

2
推荐指数
1
解决办法
2505
查看次数