I do not need to edit any XML-file or anything, this is only for reading and parsing.
I want to be able to handle the XML-document as a dictionary, like: username = doc["username"];, but I can't find out how to "convert" the document. I've also encountered the problem with duplicate key-names, but that could be easlily avoided by appending each value with 1, 2 etc; making it easy to for-loop through too.
Is this possible? To treat the (parsed) XML-document as a dictionary?
Answer to Mehrdad:
It varies from time to time, it depends on the request from the user. If the user requests x, then it will be:
foo
123
foobar
But if he requests y, it will be like
1000
...@...
foobar
The best would be if this:
100
3
foo
bar
bar
"
Could be parsed and then accessed as doc["mengde"] etc.
解决方案
You could use linq to xml to do what you want (if I understand what you want)
string data = "foofoobbbbb123foobar";
XDocument doc = XDocument.Parse(data);
Dictionary dataDictionary = new Dictionary();
foreach (XElement element in doc.Descendants().Where(p => p.HasElements == false)) {
int keyInt = 0;
string keyName = element.Name.LocalName;
while (dataDictionary.ContainsKey(keyName)) {
keyName = element.Name.LocalName + "_" + keyInt++;
}
dataDictionary.Add(keyName, element.Value);
}