【发布时间】:2011-11-25 21:16:06
【问题描述】:
我有一个多行文本框,我使用数据绑定将其 Text 属性绑定到一个字符串。这似乎可行,但在从 XML 加载字符串时,返回(新行)会丢失。当我检查 XML 时,返回就在那里,但是一旦从 XML 加载字符串,它们就会丢失。有谁知道为什么会发生这种情况以及如何正确地做到这一点。
(我不一定要使用多行文本框或字符串属性进行绑定,我只是一个可维护的(最好是优雅的)解决方案。)
编辑:基本上,我使用 XmlSerializer 类:
正在加载:
using (StreamReader streamReader = new StreamReader(fileName))
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
return (T)xmlSerializer.Deserialize(streamReader);
}
保存:
using (StreamWriter streamWriter = new StreamWriter(fileName))
{
Type t = typeof(T);
XmlSerializer xmlSerializer = new XmlSerializer(t);
xmlSerializer.Serialize(streamWriter, data);
}
当查看 XML 内部时,它会像这样保存多行文本框数据:
<OverriddenComponent>
<overrideInformation>
<Comments>first rule
second rule
third rule</Comments>
</overrideInformation>
</OverriddenComponent>
但在加载数据后,这些中断不再显示。
【问题讨论】:
-
请向我们展示您用于保存和加载 XML 的代码。
-
在xml中,默认跳过多个空格(和换行符)