XML シリアライゼーションの動作と制限について学習しています。以下のような単純なXMLファイルがあります
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2001/CIM-schema-cim10#">
<cim:BaseVoltage rdf:ID="BaseVoltage_01">
<cim:BaseVoltage.nominalVoltage>42</cim:BaseVoltage.nominalVoltage>
</cim:BaseVoltage>
</rdf:RDF>
c# コード:
public class Voltage
{
public double value;
public String units;
public Voltage()
{
}
}
public class BaseVoltage
{
private Voltage volt;
public BaseVoltage()
{
volt = new Voltage();
ConductingEquipment = new ConductingEquipment[10];
VoltageLevel = new VoltageLevel[10];
}
[XmlElement("BaseVoltage.nominalVoltage")]
public Voltage NominalVoltage
{
get { return volt; }
set { volt = value; }
}
}
xml ファイルを逆シリアル化すると、C# オブジェクトが表示されます
baseVoltage.NominalVoltage.value = 0.0
私は期待している
baseVoltage.NominalVoltage.value = 42.
XML シリアライゼーションは、私にとって不可解です。この場合、値 42 が得られないのはなぜですか??