I have a really long XML string which comes from a web service. I need to read data from coming xml. I have searched too much but many examples are for just a few depth structure. My XML is a bit deeper
<?xml version="1.0" encoding="utf-8" ?>
<root>
<node1>
<node11>50002</node11>
<node12>Schools</node12>
<node13>
<node131>8</node131>
<node132>School 1</node132>
<node133>
<node1331>22</node1331>
<node1332>Department 1</node1332>
<node1333>
<node13331>1</node13331>
<node13332>Branch 1</node13332>
<node13333>
<node133331>407</node133331>
<node133332>Full-time</node133332>
<node133333>903002</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
<node1333>
<node13331>2</node13331>
<node13332>Branch 2</node13332>
<node13333>
<node133331>407</node133331>
<node133332>Full-time</node133332>
<node133333>903002</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
</node133>
<node133>
<node1331>26</node1331>
<node1332>Department 2</node1332>
<node1333>
<node13332></node13332>
<node13333>
<node133331>416</node133331>
<node133332>Full-time</node133332>
<node133333>903001</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
</node133>
</node13>
<node13>
<node131>13</node131>
<node132>School 2</node132>
<node133>
<node1331>3</node1331>
<node1332>Department 1</node1332>
<node1333>
<node13332></node13332>
<node13333>
<node133331>517</node133331>
<node133332>Full-time</node133332>
<node133333>903001</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
</node133>
<node133>
<node1331>34</node1331>
<node1332>Department 2</node1332>
<node1333>
<node13332></node13332>
<node13333>
<node133331>830</node133331>
<node133332></node133332>
<node133333>903002</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
</node133>
<node133>
<node1331>35</node1331>
<node1332>Department 3</node1332>
<node1333>
<node13332></node13332>
<node13333>
<node133331>831</node133331>
<node133332></node133332>
<node133333>903002</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
</node133>
<node133>
<node1331>36</node1331>
<node1332>Department 4</node1332>
<node1333>
<node13332></node13332>
<node13333>
<node133331>832</node133331>
<node133332></node133332>
<node133333>903002</node133333>
<node133334>915001</node133334>
</node13333>
</node1333>
</node133>
</node13>
</node1>
</root>
Well, I can get data using XDocument like that for first nodes. But I could not read them into arrays.
var OrganizationCode= XDocument.Parse(serviceXML) //gets 50002
.Descendants("root")
.Descendants("node1")
.Descendants("node11")
.Select(x => x.Value)
.FirstOrDefault();
The answer would be a nested foreach
loops but I was not able to realize it.
This should give you all node11
values. It is assuming that you want ALL node11
values
var OrganizationCodes = XDocument.Parse(serviceXML)
.Descendants("node11")
.Select(x => x.Value);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.