二重引用符を含む値を持つ文字列プロパティを持つオブジェクトがあります。このオブジェクトをシリアライズしてから、その XML を使用する必要があります。このxmlを逆シリアル化することはありません。
XML ファイルで適切なコンテンツを取得できません。コードサンプルで説明しましょう:
[Serializable]
public class Test {
[XmlElement]
public string obj { get; set; }
}
class Program {
static void Main(string[] args) {
var st ="Priority == \"1\"";
Test test = new Test();
test.obj = st;
//Serialize this object
XmlSerializer xsSubmit = new XmlSerializer(typeof(Test));
StringWriter sww = new StringWriter();
XmlWriter writer = XmlWriter.Create(sww, new XmlWriterSettings {
OmitXmlDeclaration = true
});
var ns = new XmlSerializerNamespaces();//just to make things simpler here
ns.Add(string.Empty, string.Empty);
xsSubmit.Serialize(writer, test, ns);
//My XML
var xml = sww.ToString();
}
}
私のxmlは次のようにする必要があります。
<Test><obj>Priority=="1"</obj></Test>
私は今得ます:
<Test><obj>Priority==\"1\"</obj></Test>
var html = HttpUtility.HtmlEncode(st);
この場合、変数html
は正しい形式ですが、シリアル化すると次のようになります。
<Test><obj>Priority==&quot;1&quot;</obj></Test>
助けが必要です。