Considering the following XML:
<Stations>
<Station>
<Code>HT</Code>
<Type>123</Type>
<Names>
<Short>H'bosch</Short>
<Middle>Den Bosch</Middle>
<Long>'s-Hertogenbosch</Long>
</Names>
<Country>NL</Country>
</Station>
</Stations>
There are multiple nodes. I need the value of each node.
I’ve got the XML from a webpage (http://webservices.ns.nl/ns-api-stations-v2)
Login (–) Pass (–)
Currently i take the XML as a string and parse it to a XDocument.
var xml = XDocument.Parse(xmlString);
foreach (var e in xml.Elements("Long"))
{
var stationName = e.ToString();
}
You can retrieve “Station” nodes using XPath, then get each subsequent child node using more XPath. This example isn’t using Linq, which it looks like you possibly are trying to do from your question, but here it is:
NOTE: If your
xmlStreamvariable is aString, rather than aStream, usexml.LoadXml(xmlStream);for line 2, instead ofxml.Load(xmlStream). If this is the case, I would also encourage you to name your variable to be more accurately descriptive of the object you’re working with (aka.xmlString).