Ben basit bir şey baktığımı düşünüyorum, ancak yinelemeli bir XDocument düğümleri ayıklamakta zorlanıyor. Ben o gözlem çocuk sahibi olmayan bu sadece eserler gibi görünse deDüğümleri bir XDocument içinde yinelemeli bulma
foreach (XElement element in Content.Descendants("observation"))
ExamineObservation(element);
kullanarak her üç gözlem düğümleri alabilir düşünce
<?xml version="1.0" encoding="iso-8859-1"?>
<content>
<operation></operation>
<entry>
<observation>
<templateId/>
<code></code>
<value></value>
<entryRelationship>
<observation>
<templateId/>
<code></code>
<value></value>
</observation>
</entryRelationship>
<entryRelationship>
<observation>
<templateId/>
<code></code>
<value></value>
</observation>
</entryRelationship>
</observation>
</entry>
</content>
:
Ben buna benzer XML var. Ben de denedim .Ancestors ve .DecentantNodes, ama istediğimi almadım.Kolayca ihtiyaç duyduğum şeyi alan özyinelemeli bir yöntem yazabilirim, ancak var olan bir yöntemi kullanmak istiyorum, özellikle de XML ile birkaç projede çalışacağım için. Belli bir şey eksik miyim?
Gözlemi belirten herhangi bir düğümün, kodu ve değeri almam gerektiğini unutmayın, bu nedenle aşağıdaki örnekte üç gözlem düğümünü işlemem gerekecek. Gözlem düğümlerinin yuvalanması ve miktarı isteğe bağlıdır.
Yardımlarınız için teşekkür ederiz.
EK
Ben XML hakkında yeterli bilgi vererek olmayabilir diye düşündüğüm oluyor. Etiketlerin bir fark yaratacağını düşünmüyordum, ama sanırım onları tam olarak dahil etmeliyim. Aşağıda, ayrıştırmaya çalıştığım gerçek bir iletinin ilk birkaç satırı var. Mahremiyet için "..." ile bazı metinleri değiştirdim.
<?xml version="1.0" encoding="iso-8859-1"?>
<content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<operation>update</operation>
<entry xmlns="urn:hl7-org:v3">
<observation classCode="OBS" moodCode="EVN">
<templateId root="..." />
<code code="..." codeSystem="..." codeSystemName="..." displayName="...">
</code>
<value xsi:type="..." code="..." codeSystem="..." codeSystemName="..." displayName="...">
</value>
<entryRelationship typeCode="...">
<observation classCode="..." moodCode="...">
I() "kod" element.Element() Eğer 'Console.WriteLine yazarsanız, burada yanlış olduğunu yakalayamaz Maalesef; sizin foreachta' sen 3 kodu beklendiği gibi alır –
Hayır. Bunu izliyorum ve hiçbir şey anlayamıyorum. ExamineObservation'ı (element) tamamen atlıyor. Xml bir ad alanı kullanıyor; Bu bir fark yaratacak mıydı? – Tim
xeondev ile anlaşıldı, bu işe yaramalı. Foreach döngüsündeki 'content' düğümünüzü nasıl başlatıyorsunuz? – Gjeltema