谁能解释如何控制生成的 XML?
我有一个简单的测试类 NumberService ...
[Serializable]
public class NumberService
{
public int Number1 { get; set; }
public int Number2 { get; set; }
}
现在,如果我使用 XmlSerializer 反序列化一个实例,我会得到我所期望的......
<NumberService>
<Number1>23</Number1>
<Number2>45</Number2>
</NumberService>
但我正试图发送这个,而 Fiddler 正在显示......
<NumberService>
<_x003C_Number1_x003E_k__BackingField>10</_x003C_Number1_x003E_k__BackingField>
<_x003C_Number2_x003E_k__BackingField>2</_x003C_Number2_x003E_k__BackingField>
</NumberService>
四处闲逛我读到这是因为我使用了自动属性,实际上如果我改为......
public class NumberService
{
private int _number1;
public int Number1
{
get { return _number1; }
set { _number1 = value; }
}
public int Number2 { get; set; }
}
确实 XML 更改为...
<NumberService>
<_number1>4</_number1>
<_x003C_Number2_x003E_k__BackingField>6</_x003C_Number2_x003E_k__BackingField>
</NumberService>
但是我当然不能将 _number1 更改为 Number1,因为它会与属性冲突:-(
那么如何控制 XML 呢?
......还有一点阅读......
这涉及 WCF 数据合同