0
즉시 조상이 다른 노드 (descendants
방법 사용) 인 e.x 노드의 값을 얻으려면 어떻게해야합니까? 아래의 XML의 일부가 나는 즉시 조상 노드 <sec>
이있는 노드 <label>
의 모든 값을 원하는자손 메서드를 사용하여 직계 조상을 가진 노드를 확인하는 방법은 무엇입니까?
<sec id="s2">
<label>2.</label>
<title>THE MORPHOLOGY OF CHONDRAE TENDIANEAE OF ATRIOVENTRICULAR VALVES HEARTS NEWBORNS AND INFANTS</title>
<p>According to the macroscopic</p>
<fig id="F1">
<label>Figure 1.</label>
<caption><p>Tendon string valvular heart baby infants. 1 - mastoid muscle, 2 - tendon strings.</p></caption>
<graphic xlink:href="00062_psisdg9066_90661R_page_2_1.jpg"/>
</fig>
<fig id="F2">
<label>Figure 2.</label>
<caption><p>Tendon string valvular heart newborn baby. 1 - mastoid muscle, 2 - tendon strings.</p></caption>
<graphic xlink:href="00062_psisdg9066_90661R_page_2_2.jpg"/>
</fig>
</sec>
<sec id="s3">
<label>3.</label>
<title>EXPERIMENTAL RESULTS AND DISCUSSION</title>
<p>Material studies provided three-sided and mitral valve that were taken from 8 hearts of stillborn children and four dead infants.</p>
</sec>
파일입니다. 즉,이 경우 값은 2.
이어야하며 3.
내가 할 경우 내가 다른 어떤 조건 내가 원하는 것을 달성하기 위해 2., Figure 1., Figure 2., 3.
추가 내가해야합니까 얻을
XDocument doc=XDocument.Load(@"D:\test\sample.XML");
var x = from a in doc.Descendants("label")
where a.Ancestors("sec").Attributes("id").Any()
select a.Value;
?
감사합니다. BTW,이 경우'x '가 null/empty인지 확인하려면 어떻게해야합니까? if (x == null) {Console.WriteLine ("No such value found!"); }'작동하지 않는 것 같습니다. – Bumba
@Bumba'x'는 null이 아니지만 비어있을 수 있습니다. 그래서 당신은'DefaultIfEmpty()'를 사용할 수 있습니다. –