我已经这段代码,用于验证XML对XSDXML验证
public void Validate()
{
XDocument xdoc = XDocument.Load("XML path");
var schemas = new XmlSchemaSet();
schemas.Add(null, "XSD path");
xdoc.Validate(schemas, ValidationCallBack);
}
private void ValidationCallBack(object sender, ValidationEventArgs args)
{
if (args.Severity != XmlSeverityType.Error)
return;
throw new XmlSchemaValidationException(args.Message);
}
如果我在XSD元素具有与字符串类型,并且具有图案([^ \吨\ r \ n]的*) 和XML值标签是
<tagname> There is LF character here
</tagname>
它从验证然而标签值仅尾随“LF”字符通过。 它应该如何无效,并在xml验证失败? 请注意,我无法修改xsd
是否有任何有效的方法来检查是否有'CR'字符? – Sumthg
您只能对未解析的文档进行此项检查。但是为什么你想要,因为XML规范说CR字符被忽略了? –
@MichaelKay检查帖子被修改为更多的澄清 – Sumthg