I have the following xml
<?xml version='1.0'?>
<test>
<exam paper="math" section="third" value="dull">
<place>college</place>
</exam>
</test>
and i want to get the value of "section" and place "tag" with best performance. Shall i use linq or xmldatareader? please share the code also
XmlDataReader would probably be faster than LINQ to XML, but LINQ to XML will probably be easier to write and maintain.
I was able to run the following code ten thousand (10,000) times in just over 0.1 seconds: do you need better performance than that?
var doc = XDocument.Parse(
@"<?xml version=""1.0""?>
<test>
<exam paper=""math"" section=""third"" value=""dull"">
<place>college</place>
</exam>
</test>");
var info =
(from test in doc.Elements("test")
from exam in test.Elements("exam")
select new{
section = exam.Attribute("section").Value,
place = exam.Element("place").Value
})
.ToList();