Извините, если мой вопрос неясен. Я получил кучу элементов и атрибуты для каждого из них из xDocument. Теперь я хочу, чтобы на каждой итерации получалось больше дециентов каждого узла, итерация через них и получение всех их атрибутов.Получение дочерних узлов элемента xDocument при его выполнении через Xdocument
структура:
<Jobs>
<Job attr1=val1 attr2=val2 attr3=val3>
<InnerNode1 InnerAttr1=val6 InnerAttr2=7>
<InnerNodeChild1>
.........
</InnerNodeChild1>
<InnerNodeChild2>
............
</InnerNodeChild2>
<InnerNodeChild3>
.......
</InnerNodeChild3>
</InnerNode1>
<InnerNode2 InnerAttr1=val6 InnerAttr2=7>
<InnerNodeChild1>
.........
</InnerNodeChild1>
<InnerNodeChild2>
............
</InnerNodeChild2>
<InnerNodeChild3>
.......
</InnerNodeChild3>
</InnerNode2>
<InnerNode3 InnerAttr1=val6 InnerAttr2=7>
<InnerNodeChild1>
.........
</InnerNodeChild1>
<InnerNodeChild2>
............
</InnerNodeChild2>
<InnerNodeChild3>
.......
</InnerNodeChild3>
</InnerNode3>
</job>
<Job attr1=val4 attr2=val5>
<InnerNode1 InnerAttr1=val6 InnerAttr2=7>
<InnerNodeChild1>
.........
</InnerNodeChild1>
<InnerNodeChild2>
............
</InnerNodeChild2>
<InnerNodeChild3>
.......
</InnerNodeChild3>
</InnerNode1>
<InnerNode2 InnerAttr1=val6 InnerAttr2=7>
<InnerNodeChild1>
.........
</InnerNodeChild1>
<InnerNodeChild2>
............
</InnerNodeChild2>
<InnerNodeChild3>
.......
</InnerNodeChild3>
</InnerNode2>
<InnerNode3 InnerAttr1=val6 InnerAttr2=7>
<InnerNodeChild1>
.........
</InnerNodeChild1>
<InnerNodeChild2>
............
</InnerNodeChild2>
<InnerNodeChild3>
.......
</InnerNodeChild3>
</InnerNode3>
</Job>
.....
.....
.....
<OtherNodeInSameLevelAsJob>
</OtherNodeInSameLevelAsJob>
</Jobs>
OK, для каждого работы узла будет только один InnerNode1 и имеет атрибуты и внутренние узлы это сам. Если я хочу получить все атрибуты и InnerNodeChilds из каждого InnerNode1, но во время выполнения заданий, как в следующем примере, что мне нужно сделать?
XDocument xDoc = XDocument.Load(xDr);
var Jobs = from Job in xDoc.Descendants("Job")
select new {
JobID = Job.Attribute("JobID").Value,
JobName = Job.Attribute("JobName").Value,
........
........
........
};
, а затем:
foreach(var Job in Jobs){
string JobId = Job.JobID;
string JobName = job.JobName;
.........
.........
.........
}
Спасибо, Эрез
Просто, чтобы быть уверенным. Вам нужен список «Jobs» с только атрибутами, InnerNode1 и InnerNode1? – Mualig