Spa*_*y74 2 c# xml-serialization child-objects
我有一个类,它采用标准的地址属性并存储它们.State属性的类型为USStateCodesType.以下是用于存储属性的代码示例:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.225")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://SP/Items/Schemas")]
public partial class BusinessAddress
{
private string address1Field;
private string address2Field;
private string cityField;
private USStateCodesType stateField;
private bool stateFieldSpecified;
private string zipField;
/// <remarks/>
public string Address1
{
get
{
return this.address1Field;
}
set
{
this.address1Field = value;
}
}
Run Code Online (Sandbox Code Playgroud)
USStateCodesType包含带字符串键和值的私有字典.默认构造函数加载字典并由任何重载调用.国家只有一个公共财产.编码如下:
public string State
{
get
{
return iDict[_key];
}
set
{
if (iDict.ContainsValue(value))
{
foreach (string k in iDict.Keys)
if (iDict[k] == value)
_key = k;
}
else
_key = string.Empty;
}
}
Run Code Online (Sandbox Code Playgroud)
USStatesCodeType上方的属性与前面的示例相同.
问题是,当我尝试将对象序列化为XML String时,我得到这样的结果:
<BusinessAddress>
<Address1>12345 AnyStreet</Address1>
<City>Los Angles</City>
<Zip>90210</Zip>
</BusinessAddress>
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,我正在存储CA. 我希望XML能够推出
<BusinessAddress>
<Address1>12345 AnyStreet</Address1>
<City>Los Angles</City>
<State>California</State>
<Zip>90210</Zip>
</BusinessAddress>
Run Code Online (Sandbox Code Playgroud)
我在序列化之前检查对象的属性,State Property显示California作为值.
我究竟做错了什么?
我假设您创建了一个实例BusinessAddress并指定了各种属性:
BusinessAddress myBusinessAddress = new BusinessAddress();
myBusinessAddress.Address1 = "12345 AnyStreet";
myBusinessAddress.City = "Los Angeles";
myBusinessAddress.Zip = 90210;
myBusinessAddress.State = "California";
Run Code Online (Sandbox Code Playgroud)
但最有可能的是,你没有说明:
myBusinessAddress.StateFieldSpecified = true;
Run Code Online (Sandbox Code Playgroud)
如果您忘记了该选项,则您的State字段将不会显示在生成的序列化XML中.
设置该布尔属性,它将显示出来!
| 归档时间: |
|
| 查看次数: |
2995 次 |
| 最近记录: |