2017-10-16 8 views
0

現在、System.Xml.Serializationシリアライザを使用しています。 HTMLマークアップを含む文字列を逆シリアル化するとシリアライザはマークアップを削除します。これを避ける最良の解決策は何ですか?ここで C#XMLシリアル化、一部のノードを無視

HELLO . I HAVE RELEASED A NEW VIDEO. 
+0

それはテキストのみとして扱われますので、あなたはおそらく、あなたのメッセージは、それが有効なXMLマークアップが含まれている、特にとして、 'CDATA'タグに包まれている必要があります(あなたの' 'タグ)。あるいは、山括弧がエスケープされるように値をエンコードします( '<'では '<'、 '>'では '>')。 –

答えて

0

あなたがコード化するために持っている、XMLは

<String name="Computer3" lang="US_EN"> 
    HELLO <i>FRUITS</i>. I HAVE RELEASED A NEW VIDEO. 
</String> 

<i>タグ

が直列化復元時に取り除かなっているので、出力メッセージがようになり、次のようになります。 XMLのHTMLマークアップを保持するための文字列値。

次に、値を取得するたびにデコードする必要があります。

var normalString = HttpUtility.HtmlDecode("HELLO &lt;i&gt;FRUITS&lt;/i&gt;. I HAVE RELEASED A NEW VIDEO."); 

ソース[1]:https://msdn.microsoft.com/en-us/library/73z22y6h(v=vs.110).aspx

関連する問題