2009-04-08 4 views

Antwort

13

Etwas wie:

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); 
      } 
     } 
    } 

Wenn Sie gegen eine XSD überprüfen müssen, dann XmlReaderSettings verwenden.

4

Führen Sie es einfach durch einen Parser. Das wird die entsprechenden Überprüfungen durchführen (ob es in Ordnung ist).

Wenn es sich um ein großes Dokument handelt (wie angegeben), ist ein ereignisbasierter Parser (z. B. SAX) geeignet, da das Dokument nicht gespeichert wird.

Es ist oft nützlich, XML-Dienstprogramme zur Verfügung zu haben, um diese Art von Dingen zu überprüfen. Ich benutze XMLStarlet, das ist ein Kommandozeilen-Werkzeugsatz für XML-Prüfung/Manipulation.