使用 XMLSerializer 保存从类创建的对象,如 myClass
Public Class MyClass
{
Public String test = " " ;
}
将产生:
<MyClass>
<test> </test>
</MyClass>
但是当我想要加载 xml 文件时,它似乎正在删除我需要的空白区域。 我怎么解决这个问题 ? 谢谢
最佳答案
无法重现 - 看起来还不错:
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class MyClass
{
[XmlElement("test")]
public string Test { get; set; }
}
static class Program
{
static void Main()
{
XmlSerializer ser = new XmlSerializer(typeof(MyClass));
MyClass orig = new MyClass { Test = " " }, clone;
using (var file = XmlWriter.Create("my.xml"))
{
ser.Serialize(file, orig);
}
using (var file = XmlReader.Create("my.xml"))
{
clone = (MyClass)ser.Deserialize(file);
}
Console.WriteLine("'" + clone.Test + "'");
Console.WriteLine(File.ReadAllText("my.xml"));
}
}
输出:
' '
和
<?xml version="1.0" encoding="utf-8"?><MyClass xmlns:xsi="http://www.w3.org/2001
/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><test> </test>
</MyClass>
它可能有助于更具体地说明您尝试查看它的方式,这样它“看起来像是在删除空白区域”。
关于c# - 当字符串字段值为空格时 XMLSerializer 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836826/