reading elements based on dynamic names, c#, linq to xml, part II
Posted on 2012-03-29
My xml file is set up like this:
With the help of kaufMed in another question, I am able to set up a configuration file to tell my application: You can find item number at <ord><item><sku> then use that information to read my xml file dynamically.,
The code looks like this:
string itemNo = @"//ord/item/sku";
foreach (string XMLFileName in FilesIn)
XDocument xDoc = XDocument.Load(XMLFileName);
foreach (var node in xDoc.XPathSelectElements(itemNo))
which successfully returns all the skus in the file.
In reality, a given file will have more than one order, a given order will have more than one item, and descending from the item element, there are other elements besides sku that I need to read.
Is there any way I can enhance the above code to look at a specific occurence of the given node? Is there any way I can, for example, recognize that I have three orders in the file, then read for each order individually (they do have an order number attribute not shown above, like this: <ord> OrderNumber=998889), and then look at the item elements within that specific order?
Thanks in advance for any thoughts you might have.