2016-07-21 2 views
0

Ich habe eine verschachtelte Schleife in der SOAP-Antwort und ich möchte den niedrigsten Wert der Schleife aus der Schleife lesen. Wie kann ich eine rekursive Logik in C# schreiben, um dasselbe zu tun? Im Folgenden finden Sie Anfrage meiner Probe SOAPSo lesen Sie den Knoten der untersten Ebene in einer geschachtelten SOAP-Antwort

<hierarchy> 
    <company company_id="ABC" name="ABC"> 
     <company company_id="DEF" name="DEF"> 
      <company company_id="1234" name="1234"> 
       <company company_id="5678" name="5678"> 
        <company company_id="1000" name="1000"> 
        </company> 
       </company> 
      </company> 
     </company> 
    </company> 
</hierarchy> 

Ich wollte eine Logik schreiben, die so etwas wie, wenn Unternehmen nicht mehr untergeordnete Knoten dann diesen Wert lesen. FYI, diese verschachtelte Schleife ist dynamisch, was bedeutet, dass einige SOAP-Antworten 5 verschachtelte Firmen haben können und einige 3 haben können.

Vielen Dank für Ihre Hilfe im Voraus.

+0

Verschachteln Sie niemals die gleichen Tags, wie Sie es tun. Du machst es sehr schwer zu parsen !!! Warum schreibst du nicht etwas, das einfacher zu parsen ist? – jdweng

+0

Dies ist nicht, was ich schreibe, das ist wollen ich als Antwort von einem Web-Service von Dritten erhalten und ich kann ihre Antwort nicht ändern. – random

Antwort

0

So ähnlich? Wenn ich dein Problem richtig verstanden habe.

public void foo(XmlNode node) 
{ 
    if (node.HasChildNodes) 
    { 
     for (int i = 0; i < node.ChildNodes.Count; i++) 
     { 
      foo(node.ChildNodes[i]); 
     } 
    } 
    else 
    { 
     //read value 
    } 
} 
Verwandte Themen