Tja! Har inte jobbat med linq men det här verkar funkaXML Linq childnodes
Jag har ett problem som jag fasen inte får bukt på, är inte ett dugg duktig på Linq men känner att nu är det dags att fråga efter två dagar test och google. :)
Mitt problem är att jag vill ha ut värdet i alla <value> och inte bara första som jag får nu. Jag fyller en listbox med värden och vill ju då givetvis får ut alla värden.
XDocument xmlDoc = XDocument.Load("output.xml");
var EResults = from EResult in xmlDoc.Descendants("emailAddresses")
select new
{
value = EResult.Element("value").Value,
};
foreach(var EResult in EResults)
{
lbEmailAddresses.Items.Add(EResult.value);
};
XML-filen som jag läser (output.xml) nedan.
<response>
<data>
<preferredDomainController>DRDC02.fabrikam.com</preferredDomainController>
<user>LDAP://CN=Torbjorn@TestKund03..ng,DC=fabrikam,DC=com</user>
<result>
<alias>torbjorn.hedstrom</alias>
<emailAddresses>
<value>SMTP:torbjorn.hedstrom@testkund03.test</value>
<value>SMTP:torbjorn.hedstrom@testkund03.test</value>
</emailAddresses>
<database>EXCHMBX01\StorageGroup01\MailboxStore01</database>
</result>
</data>
</response>
XML-filen är större men rensade bort massor med dret.
Tacksam för svar.
Nisse Pettersson
Sv: XML Linq childnodes
<code>
XDocument xmlDoc = XDocument.Load("output.xml");
var EResults =
from r in xmlDoc.Descendants("emailAddresses").Elements("value")
select r;
foreach (var EResult in EResults)
{
lbEmailAddresses.Items.Add(EResult.Value);
}
</code>
Även BARA det här verkar funka
<code>
foreach (XElement EResult in xmlDoc.Descendants("emailAddresses").Elements("value"))
{
lbEmailAddresses.Items.Add(EResult.Value);
}
</code>