2009-04-08 32 views

Trả lời

13

Cái gì như:

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

Nếu bạn cần phải kiểm tra đối với một XSD, sau đó sử dụng XmlReaderSettings.

4

Chỉ cần chạy qua trình phân tích cú pháp. Điều đó sẽ thực hiện các kiểm tra thích hợp (cho dù nó phân tích ok).

Nếu đó là tài liệu lớn (như được chỉ định) thì trình phân tích dựa trên sự kiện (ví dụ: SAX) sẽ phù hợp vì nó sẽ không lưu trữ tài liệu trong bộ nhớ.

Thường hữu ích khi có các tiện ích XML xung quanh để kiểm tra loại nội dung này. Tôi sử dụng XMLStarlet, một bộ công cụ dòng lệnh để kiểm tra/thao tác XML.

Các vấn đề liên quan