0
,當我試圖序列數據我使用這個有用的類XML:http://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspx如何使自動類型定義時序列化成XML
於是我有:
public class LocalizableString : SerializableDictionary<string, object>
{
public object Get(string language)
{
return this[language];
}
public void Set(string language, string value)
{
Util.SetDictionaryValue<string, object>(this, language, value);
}
}
如果我用平常這個代碼:
public void WriteXml(System.Xml.XmlWriter writer)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));
foreach (TKey key in this.Keys)
{
writer.WriteStartElement("item");
writer.WriteStartElement("key");
keySerializer.Serialize(writer, key);
writer.WriteEndElement();
writer.WriteStartElement("value");
TValue value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();
writer.WriteEndElement();
}
}
我西港島線得到:
<PersonenListe>
<PersonenArray>
<PersonObjekt>
<PropertyType>Unknown</PropertyType>
<ID>0</ID>
<FriendlyName>Max Man</FriendlyName>
<City>Capitol City</City>
<Age>33</Age>
<Name>
<item>
<key>
<string>test1</string>
</key>
<value>
<anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" p8:type="q1:string" xmlns:p8="http://www.w3.org/2001/XMLSchema-instance">test2</anyType>
</value>
</item>
</Name>
</PersonObjekt>
</PersonenArray>
</PersonenListe>
但我需要有自動類型定義的代碼像上面,但沒有anyType的代碼(ONY類型的屬性),如在下面的例子:
<PersonenArray>
<PersonObjekt>
<PropertyType>Unknown</PropertyType>
<ID>0</ID>
<FriendlyName>Max Man</FriendlyName>
<City>Capitol City</City>
<Age>33</Age>
<Name>
<item>
<key>
<string>test1</string>
</key>
<value>
<string>test2</string>
</value>
</item>
</Name>
</PersonObjekt>
</PersonenArray>
</PersonenListe>
但我會有不同類型的值,並不總是字符串 – revolutionkpi 2012-01-06 12:28:08
啊,我明白了。看看'System.Xml'的源代碼在這裏似乎並沒有幫助我,我擔心,所以我不知道。抱歉。 – 2012-01-06 12:39:47