我有一个非常长的XML字符串来自Web服务。我需要从即将发布的xml中读取数据。我搜索得太多,但很多例子只是为了一些深度结构。我的XML更深一点
<?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>
好吧,我可以像第一个节点那样使用XDocument获取数据。但我无法将它们读入数组。
var OrganizationCode= XDocument.Parse(serviceXML) //gets 50002
.Descendants("root")
.Descendants("node1")
.Descendants("node11")
.Select(x => x.Value)
.FirstOrDefault();
答案是嵌套的foreach
循环,但我无法实现它。
答案 0 :(得分:2)
这应该为您提供所有node11
值。假设您需要所有node11
值
var OrganizationCodes = XDocument.Parse(serviceXML)
.Descendants("node11")
.Select(x => x.Value);