2016-09-10 8 views
0

XML:ループスルーXMLノードC#のWPF

<?xml version="1.0" encoding="utf-32"?> 
<MailTo> 
    <To Name="Boss"> 
    <name>Name1</name> 
    <mail>[email protected]</mail> 
    </To> 
    <Cc Name="Trainee"> 
    <name>Name2</name> 
    <mail>[email protected]</mail> 
    </Cc> 
    <Cc Name="Manager"> 
    <name>Name3</name> 
    <mail>[email protected]</mail> 
    </Cc> 
    <Cc Name="Assistant"> 
    <name>Name4</name> 
    <mail>[email protected]</mail> 
    </Cc> 
</MailTo> 

コード:

StringReader Empfänger = new StringReader(smartMail.Properties.Resources.MailtoSimW); 

       //Read Medium from xml. 
       XmlTextReader xReader = new XmlTextReader(Empfänger); 
       while (xReader.Read()) 
       { 
        if (xReader.NodeType == XmlNodeType.Element) 
        { 
         var attr = xReader["Name"]; 

         if(attr != null && attr == "Boss") 
         { 
          if (xReader.ReadToDescendant("mail")) 
          { 
           xReader.Read(); 
           Mailto = xReader.Value; 
           break; 
          } 
         } 
         else { } 
         if (attr != null && attr == "Trainee") 
         { 
          if (xReader.ReadToDescendant("mail")) 
          { 
           xReader.Read(); 
           MailCc = xReader.Value; 
           break; 
          } 
         } 

私の問題は、それが唯一の最初のノード(ボス)を読み取ることです。私は「へ」 は、最初のノードに問題がありますか? は、すべてのノードスルーだけループへのより良い方法はあり:-(他人から戻って空の文字列を取得し、他の「CC」ノード?

答えて

0

[OK]を ちょうど "休憩"を取り除かなければならなかった