How to add data to dictonary from xml file
scenerio:
I've declared a dictonary like
Dictonary<string,string> SampleDict=new Dictonary<string,string>();
and my xml file is like
<Data>
<Element ValOne="1" ValTwo="0" />
<Element ValOne="2" ValTwo="2" />
<Element ValOne="3" ValTwo="4" />
<Element ValOne="4" ValTwo="6" />
<Element ValOne="5" ValTwo="8" />
<Element ValOne="6" ValTwo="10" />
<Element ValOne="7" ValTwo="12" />
<Element ValOne="8" ValTwo="14" />
<Element ValOne="9" ValTwo="16" />
<Element ValOne="10" ValTwo="18" />
</Data>
i need to read the value of "ValOne" and "ValTwo" using LINQ and insert the same into the above declared dictonary
and how to add the contents of the dictonary to a listview which contains two columns.
Please help me to do this
Thanks in advance
You can use Linq to XML and ToDictionary for this.
var doc = XDocument.Load("path to xml");
doc.Elements("Element").ToDictionary(
elem => elem.Attribute("ValOne").Value, //Dictionary key
elem => elem.Attribute("ValTwo").Value //Dictionary value
);
This particular overload of ToDictionary
uses different lambdas to extract keys and values for the generated collection.
Presumably you want ValOne to be the key and ValTwo to be the value?
document.Descendants("Element")
.ToList()
.ForEach(e => SampleDict[e.Attribute("ValOne").Value] = e.Attribute("ValTwo").Value);
This assumes you have read your XML file into an XDocument
or XElement
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With