2009-04-08 11 views

Répondre

13

Quelque chose comme:

static void Main() { 
     Test("<abc><def/></abc>"); 
     Test("<abc><def/><abc>"); 
    } 
    static void Test(string xml) { 
     using (XmlReader xr = XmlReader.Create(
       new StringReader(xml))) { 
      try { 
       while (xr.Read()) { } 
       Console.WriteLine("Pass"); 
      } catch (Exception ex) { 
       Console.WriteLine("Fail: " + ex.Message); 
      } 
     } 
    } 

Si vous devez vérifier contre un xsd, puis utilisez XmlReaderSettings.

4

Exécutez-le simplement via un analyseur. Cela effectuera les vérifications appropriées (si elle analyse correctement).

S'il s'agit d'un document volumineux (comme indiqué), un analyseur basé sur les événements (par exemple, SAX) sera approprié car il ne stockera pas le document en mémoire.

Il est souvent utile d'avoir des utilitaires XML pour vérifier ce genre de choses. J'utilise XMLStarlet, qui est un ensemble d'outils de ligne de commande pour la vérification/manipulation XML.

Questions connexes