
Stellen Sie sich ein Szenario vor, in dem Sie ein Dictionary
<items> <item>
Um diese Serialisierung und Deserialisierung ohne Verwendung von XElement zu erreichen:
public class Item
{
[XmlAttribute]
public int Id;
[XmlAttribute]
public string Value;
}Dictionary<int, string> dict = new Dictionary<int, string>()
{
{ 1, "one" }, { 2, "two" }
};XmlSerializer serializer = new XmlSerializer(typeof(Item[]), new XmlRootAttribute() { ElementName = "items" });serializer.Serialize(stream, dict.Select(kv => new Item() { Id = kv.Key, Value = kv.Value }).ToArray());var orgDict = ((Item[])serializer.Deserialize(stream))
.ToDictionary(i => i.Id, i => i.Value);Wenn Sie sich später für die Verwendung von XElement entscheiden, erfahren Sie hier, wie Sie und serialisieren können deserialisieren:
XElement xElem = new XElement(
"items",
dict.Select(x => new XElement("item", new XAttribute("id", x.Key), new XAttribute("value", x.Value)))
);
var xml = xElem.ToString(); //xElem.Save(...);XElement xElem2 = XElement.Parse(xml); //XElement.Load(...)
var newDict = xElem2.Descendants("item")
.ToDictionary(x => (int)x.Attribute("id"), x => (string)x.Attribute("value"));Das obige ist der detaillierte Inhalt vonWie serialisiere und deserialisiere ich ein Wörterbuch in benutzerdefiniertes XML, ohne XElement zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Die Seitenzahl von Word beginnt auf der dritten Seite als 1 Tutorial
Drei häufig verwendete Kodierungsmethoden
Verwendung der Accept-Funktion
Welche Java-Workflow-Engines gibt es?
So binden Sie Daten in einer Dropdown-Liste
Was ist die C-Programmiersoftware?
Was ist CONNECTION_REFUSED
So lösen Sie 400 fehlerhafte Anfragen