我正在尝试通过一个 .dtd 文件验证一个 XML 文件。我已经编写了以下验证器:
public bool Validation(XmlDocument xmlDoc)
{
var xml = XmldocToString(xmlDoc);
var r = new XmlTextReader(new StringReader(xml));
var settings = new XmlReaderSettings();
var sb = new StringBuilder();
settings.ProhibitDtd = false;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += (a, e) =>
{
sb.AppendLine(e.Message);
_isValid = false;
};
XmlReader validator = XmlReader.Create(r, settings);
while (validator.Read())
{
}
validator.Close();
return _isValid;
}
问题在于我必须把DTD文件放在解决方案的bin目录中。我想选择一个不同的目录来保存DTD文件,但我真的找不到方法。
谢谢您的时间。