我在使用 c# 序列化 cdata 部分时遇到问题
我需要将 XmlCDataSection 对象属性序列化为元素的内部文本。
我正在寻找的结果是这样的:
<Test value2="Another Test">
<![CDATA[<p>hello world</p>]]>
</Test>
为了产生这个,我正在使用这个对象:
public class Test
{
[System.Xml.Serialization.XmlText()]
public XmlCDataSection value { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute()]
public string value2 { get; set; }
}
在 value 属性上使用 xmltext 注释时,会引发以下错误。
System.InvalidOperationException:反映属性“值”时出现错误。---> System.InvalidOperationException:无法序列化 System.Xml.XmlCDataSection 类型的成员“值”。XmlAttribute/XmlText 不能用于编码复杂类型
如果我注释掉注释,序列化将起作用,但 cdata 部分被放置到一个值元素中,这对我想要做的事情没有好处:
<Test value2="Another Test">
<value><![CDATA[<p>hello world</p>]]></value>
</Test>
任何人都可以指出我正确的方向来让它发挥作用。
谢谢,亚当