步骤
1、开发dll(需要签名)
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Schema;

namespace ETLXmlParser

{
public class ETLXmlParser
{
private static bool isValid = true;
public static bool Validate(string XmlFilepath, string XsdFilePath)
{
try
{
XmlReader reader;
XmlReaderSettings settings = new XmlReaderSettings();
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add(null, XsdFilePath);
settings.Schemas.Add(schemaSet);
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new ValidationEventHandler(settings_ValidationEventHandler);
settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.ProcessInlineSchema | XmlSchemaValidationFlags.AllowXmlAttributes | XmlSchemaValidationFlags.ProcessIdentityConstraints | XmlSchemaValidationFlags.ProcessSchemaLocation;
reader = XmlReader.Create(XmlFilepath, settings);
while (reader.Read())
{
string xmlFile = reader.Value;
}
reader.Close();
return isValid;
}
catch(Exception ex)
{
return false;
}
}
private static void settings_ValidationEventHandler(object sender, ValidationEventArgs e)
{
isValid = false;
}
}
}

原文:http://www.cnblogs.com/lonelyxmas/p/4107376.html