如何使用 C# 使用 .xsd 文件验证 .xml 文件中的数据并将无效数据替换为空值?
问问题
399 次
2 回答
1
查看XmlSchemaValidator 类。虽然它不容易使用,但它非常强大。
它通过“推”模型工作。API 会通知您在验证的当前点哪种 XML 是有效的。然后,您提供一段有效的 XML(元素、属性等),并再次询问,什么是有效的now。我已经使用它来创建符合一组模式的示例 XML。
虽然我没有尝试过,但我想您可以将输入 XML 提供给验证器,然后在解析中到达无效点时传递一些“空”XML。
于 2012-08-21T03:50:43.777 回答
-1
在 .NET 3.5 中验证只需使用以下代码
public bool Validate(XmlReader xmlInput, XmlReader schemaDocument)
{
var xmlSchemaSet = new XmlSchemaSet();
xmlSchemaSet.Add("", schemaDocument);
try
{
var doc = XDocument.Load(xmlInput);
bool valid = true;
doc.Validate(xmlSchemaSet, (o, e) =>
{
valid = false;
});
return valid;
}
catch (Exception e)
{
return false;
}
}
但我认为,要更正您的文档,您应该使用 XmlReader 的方法和自定义验证。
于 2012-08-21T03:44:37.517 回答