I am working on a project where there are a whole bunch of strings being stored in an XML file for later retrieval. Stored with each string are between 0-10 tags that a user can use to access and sort these strings.
The general use case that I am working towards is the user entering a "to find" tag and the app using the XMLREADER functionality to run through and identify all those strings with matching tags.
My Question: as I design the XML Schema, are there any known performance differences between reading an Element's name vs its attribute? For example if I design my Schema like this:
<requirement>
<string>Here is the string text</string>
<tags>
<tag id='technology' />
<tag id='users' />
</tags>
</requirement>
versus
<requirement>
<string>Here is the string text</string>
<tags>
<technology />
<users />
</tags>
</requirement>
And I am scanning through looking for all matching "technology" tags. Based on how the XMLREADER class works in C# is one going to give me a significant performance benefit over the other (all other variables being equal)?