사용자 지정 클래스를 XML로 serialize하려고합니다. 여기XmlSerializer가 클래스에 정의 된 XmlRoot를 사용하지 않습니다.
[Serializable()]
[XmlRoot("KVP")]
public class SerializableKeyValuePair<TKey, TValue>
{
public SerializableKeyValuePair()
{ }
public SerializableKeyValuePair(TKey key, TValue value)
{
Key = key;
Value = value;
}
public TKey Key { get; set; }
public TValue Value { get; set; }
}
직렬화하려고 시도하는 코드입니다 : 여기
var xmlWriter = new StringWriter();
Type[] extraTypes = new Type[1] { typeof(SerializableKeyValuePair<string, string>) };
var xmlSerializer = new XmlSerializer(typeof(List<SerializableKeyValuePair<string, string>>), extraTypes);
xmlSerializer.Serialize(xmlWriter, functions);
xmlRet = xmlWriter.ToString();
을 그리고 실제 결과 다음은 클래스입니다 내가보고 싶은 무엇
<ArrayOfSerializableKeyValuePairOfStringString>
<SerializableKeyValuePairOfStringString>
<Key>Min</Key>
<Value>Min</Value>
</SerializableKeyValuePairOfStringString>
<SerializableKeyValuePairOfStringString>
<Key>MinAvgMax</Key>
<Value>MinAvgMax</Value>
</SerializableKeyValuePairOfStringString>
</ArrayOfSerializableKeyValuePairOfStringString>
다음과 같습니다,하지만 내가 정의한 XmlRoot를 사용하지 않는 것 같습니다. 누구든지이 XML 구조를 얻는 방법을 알아낼 수 있습니까?
<ArrayOfKVP>
<KVP>
<Key>Min</Key>
<Value>Min</Value>
</KVP>
<KVP>
<Key>MinAvgMax</Key>
<Value>MinAvgMax</Value>
</KVP>
</ArrayOfKVP>
TIA!
그것을했다! 그게 내 뿌리가 아니라는 것을 알았지 만 문서에서 클래스 수준에서 XmlElement를 사용할 수 없다고 말했고 XmlType이 무엇인지에 대해 오해했습니다. 나를 똑바로 세워 줘서 고마워! – VG1