我的類實現IXmlSerializable的,具有這樣的特性:如何deserialzie KeyValuePair
public List<KeyValuePair<int, bool>> exportList
{
get { return _exportList; }
set { _exportList = value; }
}
我有一個XML文件,並必須填寫
public void ReadXml(XmlReader reader)
{
}
我的XML與entrys名單 - 文檔看起來像這樣:
<Object msdata:InstanceType="CYNOX_Datenlogger_Software.Geräte.Slave, CYNOX_Datenlogger_Software, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Name="Device 4" ID="4" IDParent="3" PrimeAddress="0" SecondaryAdd="10520089" AdditionalInfo="" Locked="False" StandAlone="True" ManuID="ELS" csvPath="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>0</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>true</Value>
<Key>1</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>true</Value>
<Key>2</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>3</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>4</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>5</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>6</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>7</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
<KeyValuePairThatSerializesProperlyOfInt32Boolean xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Value>false</Value>
<Key>8</Key>
</KeyValuePairThatSerializesProperlyOfInt32Boolean>
</Object>
我該如何做到這一點?
我曾嘗試使用這樣的: 而(reader.Read()){ 如果 (reader.Name ==「 KeyValuePairThatSerializesProperlyOfInt32Boolean「) { }} – Kingpin 2012-01-11 09:32:31
但我有一個不知道如何讓谷和密鑰一起... – Kingpin 2012-01-11 09:33:01
您是否嘗試過使用XmlSerializer?這個XML看起來像它的標準序列化例程產生的XML一樣可疑;所以應該輕鬆地將物體裝回。 – 2012-01-11 10:10:46