Return to Snippet

Revision: 21302
at December 9, 2009 16:23 by pckujawa


Initial Code
var path = @"C:\Users\patk\Desktop\file.xml";
var doc = XDocument.Load(path);
//doc.DescendantNodes().Dump();
//doc.XPathSelectElements("//setting").Dump();
//doc.XPathSelectElements("//setting").Attributes().Dump();
//doc.XPathSelectElements("//setting").Descendants().Dump();
var settings = doc.XPathSelectElements("//setting");
foreach	(var setting in settings){
	var name = setting.Attribute("name").Value;
//	setting.DescendantNodes().Dump();
	var value = setting.XPathSelectElements("value").Single().FirstNode;
	(name + " => " + value).Dump();
}

Initial URL
http://www.aspfree.com/index2.php?option=content&task=view&id=2426&pop=1&hide_ads=1&page=0&hide_js=1

Initial Description
The code is run in [LINQPad](http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAsQFjAA&url=http%3A%2F%2Fwww.linqpad.net%2F&ei=exUgS-a-KZOotgOs39T9CQ&usg=AFQjCNFw-ZpPkP4je7u9udiur5Wg5us7tQ&sig2=gA-_2y2xnTKzK2A9CVxXfg), which is where the Dump extension method comes from. You can pretend that it just outputs ToString. The input file for this snippet looks like so:

	<configuration>
	  <userSettings>
	    <HawkConfigGUI.Properties.Settings>
	      <setting>
	        <value>testfpga</value>
	      </setting>
	      <setting>
	        <value>test</value>
	      </setting>
	    </HawkConfigGUI.Properties.Settings>
	  </userSettings>
	</configuration>

The output of the snippet is 

    FpgaFilePath => testfpga
    FirmwareFilePath => test

So the snippet pulls out an attribute from the 'setting' element and the content (text between tags) of the 'value' sub-element.

Initial Title
Parsing information from an XML source (elements, nodes, attributes) using XPath

Initial Tags
xml

Initial Language
C#