2009-04-08 34 views

Respuesta

13

Algo así como:

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 es necesario comprobar contra un xsd, a continuación, utilizar XmlReaderSettings.

4

Simplemente ejecútelo a través de un analizador. Eso realizará las comprobaciones apropiadas (si analiza bien).

Si se trata de un documento grande (como se indica), será apropiado un analizador basado en eventos (por ejemplo, SAX) ya que no almacenará el documento en la memoria.

A menudo es útil tener utilidades XML para comprobar este tipo de cosas. Yo uso XMLStarlet, que es un conjunto de herramientas de línea de comandos para comprobación/manipulación de XML.

Cuestiones relacionadas