c# - Get XML attribute and value from elements -


i being provided following xml, no ability change structure:

<reportspec>   <report reportname="reportname1" filtermode="container" destination="emailtouser:loggedinuser" format="pdf" alertsource="all" criticalstatus="true">     <filter students="all" />   </report>   <report reportname="reportname1" filtermode="container" destination="emailtousergroup:useradmins" format="pdf" alertsource="all" criticalstatus="false">     <filter testscore="1234" />   </report>   <report reportname="reportname1" filtermode="container" destination="dir:\\net.path.com\reports" format="pdf" alertsource="failing">     <filter grade="all" />   </report>   <report reportname="reportname1" filtermode="container" destination="emailto:a@b.com,joe@schmoe.com" format="pdf" alertsource="failing">     <filter course="programming" />   </report> </reportspec> 

i using c# (.net 4.5), , need pick attribute name , value of <filter> elements, become part of app logic later in code (that is, want collect testscore="1234" entire string, , use later on). using xmlserializer , streamreader load xml document (but willing change approach, if need be). i've done paste special --> xml classes in visual studio 2013, filters class gets created won't allow me perform foreach on elements. can done, , how?

you can use xmldocument class

using system; using system.io; using system.xml;  namespace consoleapplication1 { class program {     static void main(string[] args) {         var file = file.readalltext("c:\\temp\\file.xml");         var xmlfile = new xmldocument();         xmlfile.loadxml(file);          var filterelements = xmlfile.getelementsbytagname("filter");         foreach (xmlnode filternode in filterelements) {             var filtername = filternode.attributes[0].name;             var filtertext = filternode.attributes[0].innerxml;             var destination = filternode.parentnode.attributes["destination"].innertext;             var message = string.format("the destination {0} filter {1} {2}", destination, filtername, filtertext);             console.writeline(message);         }         console.readkey();     } } 

and output be:

the destination emailtouser:loggedinuser filter students all

the destination emailtousergroup:useradmins filter testscore 1234

the destination dir:\net.path.com\reports filter grade all

the destination emailto:a@b.com,joe@schmoe.com filter course programming


Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo