XmlSerializer
應該是默認做的。如果不是,你可以發佈一些細節嗎?
當你序列化對象到XML,字符串值一樣<
和>
自動逃跑 - 因爲這些字符在標籤中使用,使他們不能在元素出現轉換成<
和>
。
當您將XML反序列化爲對象時,它會做相反的操作,將<
和>
放回原處。看看這個控制檯應用程序,輸出:
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass {Value = "<div>I am HTML!</div>"};
var serializer = new XmlSerializer(typeof (MyClass));
var xmlString = new StringBuilder();
using (var writer = new StringWriter(xmlString))
{
serializer.Serialize(writer, myClass);
}
Console.WriteLine("Serialized:");
Console.WriteLine(xmlString.ToString());
Console.WriteLine();
using (var reader = new StringReader(xmlString.ToString()))
{
var deserializedClass = serializer.Deserialize(reader) as MyClass;
Console.WriteLine("Deserialized myClass.Value: " + deserializedClass.Value);
}
Console.ReadLine();
}
}
Serialized:
<?xml version="1.0" encoding="utf-16"?>
<MyClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Value><div>I am HTML!</div></Value>
Deserialized myClass.Value: <div>I am HTML!</div>