Ich möchte einen Text, der Tag drei in eine Liste enthält, konvertieren. Beispiel:.NET konvertieren drei Tag in Liste
var raw = @"<root><group><tag1>text1</tag1><tag3>text3</tag3</group><tag2>text2</tag2></root>";
Und ich brauche so etwas haben:
Dictionary<string,string> dicTags = new Dictionary<string,string>();
dicTags["tag1"] = "text1";
dicTags["tag3"] = "text3";
dicTags["tag2"] = "text2";
Hier ist ein Beispiel (in Betrieb, aber nicht mit diesem Mehrfach drei). Das zugegebene Tag <group></group>
machen es fehlschlagen:
var raw = @"<root><group><tag1>text1</tag1><tag3>text3</tag3></group><tag2>text2</tag2></root>";
var doc = XDocument.Parse(raw);
var result = doc.Root.Elements().ToDictionary(e => (string)e.Name.LocalName, e => (string)e);
foreach(var kv in result){
Console.WriteLine("Key: {0}, Value: {1}", kv.Key, kv.Value);
}
Die andere Frage ist beantwortet. Das ist ziemlich ähnlich, aber das ist eigentlich eine andere Frage. Weil das Tag es fehlschlagen lässt:/ –
KingOfBabu
Was sind Ihre Kriterien für das, was zum Wörterbuch hinzugefügt wird? Nur Elemente ohne Kindelemente? Alles was mit "tag" beginnt? –
Alles, was einen direkten Wert hat. hat keine, aber text1 hat den Wert text1 darauf. Also muss es kein Kind und keinen Wert darin haben. –
KingOfBabu