我使用以下 MSDN 文档根据架构验证 XML 文件:http://msdn.microsoft.com/en-us/library/8f0h7att%28v=vs.100%29.aspx http://msdn.microsoft.com/en-us/library/8f0h7att%28v=vs.100%29.aspx
只要 XML 包含对架构位置或内联架构的引用,这种方法就可以正常工作。是否可以将模式“硬编码”嵌入到应用程序中,即 XSD 不会作为文件驻留,因此 XML 不需要引用它?
我正在谈论这样的事情:
- 加载要验证的 XML(没有架构位置)。
- 将 XSD 作为资源或其他内容加载。
- 进行验证。
尝试这个:
Stream objStream = objFile.PostedFile.InputStream;
// Open XML file
XmlTextReader xtrFile = new XmlTextReader(objStream);
// Create validator
XmlValidatingReader xvrValidator = new XmlValidatingReader(xtrFile);
xvrValidator.ValidationType = ValidationType.Schema;
// Add XSD to validator
XmlSchemaCollection xscSchema = new XmlSchemaCollection();
xscSchema.Add("xxxxx", Server.MapPath(@"/zzz/XSD/yyyyy.xsd"));
xvrValidator.Schemas.Add(xscSchema);
try
{
while (xvrValidator.Read())
{
}
}
catch (Exception ex)
{
// Error on validation
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)