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>