2009-04-08 13 views

cevap

13

şey:

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

Eğer XmlReaderSettings kullanmak, sonra bir xsd karşı kontrol gerekiyorsa

.

4

Bunu bir çözümleyici aracılığıyla çalıştırın. Bu, uygun kontrolleri (tamamlanıp tamamlanmadığı) gerçekleştirecektir. Büyük bir belgeyse (belirtildiği gibi), olay tabanlı bir ayrıştırıcı (ör. SAX), belgeyi belleğe kaydetmeyeceği için uygun olacaktır.

Bu tür öğeleri denetlemek için XML araçlarının etrafında olması genellikle yararlıdır. XML kontrol/manipülasyon için bir komut satırı araçları seti olan XMLStarlet kullanıyorum.

İlgili konular