我已經這段代碼,用於驗證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