【问题标题】:Validating an XDocument instance against its own schema reference根据自己的架构引用验证 XDocument 实例
【发布时间】:2010-09-10 02:50:50
【问题描述】:

我正在使用XDocument.Validate 扩展方法来验证我的实例。无论如何要让 XML 实例对其自己的模式引用负责?这似乎是相当隐含的。不幸的是,简单地将实例加载到 XDocument 似乎并没有隐式执行此验证。

【问题讨论】:

    标签: xml validation schema linq-to-xml


    【解决方案1】:

    如果您想在加载时验证,请尝试使用:

    XDocument.Load Method (XmlReader, LoadOptions)

    验证XMLReader。

    例如,像这样的:

    XmlReader reader;
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ValidationType = ValidationType.Schema;
    settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings |
        XmlSchemaValidationFlags.ProcessSchemaLocation;
    
    ValidationEventHandler validator = delegate(object sender,
    ValidationEventArgs e)
    {
        Console.WriteLine("{0}: {1}", e.Severity, e.Message);
    };
    settings.ValidationEventHandler += validator;
    settings.CloseInput = true;
    StringReader sr = new StringReader(inputXml);
    reader = XmlReader.Create(sr, settings);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多