1
あまり一般的でないXML構造の逆シリアル化に問題があります。 残念ながら私はソースサイトに影響しません。不明な要素名のXML配列をシリアライズ
XMLには、Device
要素を複数持つことができるBus
という名前のルートがあります。 Device
要素は複数の値を持つことができます。 (長いのでとても良い)。
<Bus protocol="Meterbus" baud="2400">
<Device Name="DHZ-1" PrimaryAddr="62">
<Energie _="value" Name="Energie" size="13"/>
<Spannung _="value" Name="Spannung" size="13"/>
<Strom _="value" Name="Strom" size="13"/>
<Leistung _="value" Name="Leistung" size="13"/>
<Seriennummer _="value" Name="Seriennummer" size="13"/>
<... _="..." Name="..." size=".."/>
</Device>
</Bus>
問題は、値に完全な動的要素名がありますが、同じパラメータです。
<somename _="value" Name="somename" size="13"/>
のようなものです。
しかし、それらはすべて、名前にかかわらずValue
タイプとしてシリアル化する必要があります。このような
何か:
public class Device
{
[XmlAttribute("Name")]
public String Name
{
get;
set;
}
[XmlAttribute("PrimaryAddr")]
public String PrimaryAddr
{
get;
set;
}
[???]
public Array<Value> Values
{
get;
set;
}
}
どのように私は、シリアライザにこれを説明することができます
public class Value
{
[XmlAttribute("_")]
public String _
{
get;
set;
}
[XmlAttribute("Name")]
public String Name
{
get;
set;
}
[XmlAttribute("size")]
public String Size
{
get;
set;
}
}
Device
クラスは次のようになりますか?