2010-04-30 1 views
0

Salut, je suis analyse XML en silverlight, dans mon XML je une balise est commeXMLReader dans le problème de la balise silverlight type <test />

<test attribute1="123" /> 
<test1 attribute2="345">abc text</test1> 

J'utilise XMLReader pour analyser xml comme

using (XmlReader reader = XmlReader.Create(new StringReader(xmlString))) 
{ 

     // Parse the file and display each of the nodes. 
     while (reader.Read()) 
     { 
      switch (reader.NodeType) 
      { 
       case XmlNodeType.Element: 
      //process start tag here 
        break; 
       case XmlNodeType.Text: 
      //process text here 
        break; 
       case XmlNodeType.XmlDeclaration: 
       case XmlNodeType.ProcessingInstruction: 

        break; 
       case XmlNodeType.Comment: 

        break; 
       case XmlNodeType.EndElement: 
      //process end tag here 
        break; 
      } 
     } 
} 

mais le problème est que pour tag de test aucun EndElement n'est reçu? ce qui rend toute ma logique de programme erronée. (pour tag test1 tout fonctionne bien). Sil te plait aide moi.

Répondre

1

Dans le cas XmlNodeType.Element, vous pouvez tester s'il s'agit d'un élément vide utilisant la propriété reader.IsEmptyElement, ce qui signifie que l'élément est ouvert et fermé dans la même itération.

+0

Merci Darin! tu as sauvé mon temps. –

Questions connexes