在C#中,可以使用以下方法對XML進行校驗:
首先,創(chuàng)建一個XmlReaderSettings對象,并設(shè)置相應(yīng)的驗證規(guī)則。例如,要驗證XML文檔是否具有正確的根元素,可以設(shè)置ValidationType屬性為"root"。然后,創(chuàng)建一個XmlReader對象,將XML文檔的路徑作為參數(shù)傳遞給它,并將XmlReaderSettings對象作為參數(shù)傳遞給XmlReader的Create方法。最后,使用XmlReader對象的Read方法開始讀取XML文檔,并使用XmlReader的Validate方法進行驗證。
以下是一個示例代碼:
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = "root";
settings.ValidationEventHandler += new ValidationEventHandler(OnValidationEvent);
XmlReader reader = XmlReader.Create("path/to/your/xmlfile.xml", settings);
while (reader.Read()) {
// Process the XML node
}
reader.Close();
void OnValidationEvent(object sender, ValidationEventArgs e) {
throw new ApplicationException("XML validation error: " + e.Message);
}
在上面的示例中,如果XML文檔未通過驗證,將引發(fā)一個ApplicationException異常,并顯示錯誤消息。您可以根據(jù)需要修改此事件處理程序以執(zhí)行其他操作。
首先,創(chuàng)建一個XDocument對象,并使用Load方法加載XML文檔。然后,創(chuàng)建一個XDocumentSchema對象,并使用Load方法加載XML模式文檔(XSD文件)。最后,使用XDocument對象的Validate方法進行驗證,并將XDocumentSchema對象作為參數(shù)傳遞給它。
以下是一個示例代碼:
XDocument xdoc = XDocument.Load("path/to/your/xmlfile.xml");
XDocumentSchema schema = XDocumentSchema.Load("path/to/your/schemafile.xsd");
bool isValid = true;
xdoc.Validate(schema, (sender, args) => {
isValid = false;
});
if (!isValid) {
throw new ApplicationException("XML validation error: " + args.Message);
}
在上面的示例中,如果XML文檔未通過驗證,將引發(fā)一個ApplicationException異常,并顯示錯誤消息。您可以根據(jù)需要修改此事件處理程序以執(zhí)行其他操作。