참조된 XSD 스키마에 대한 C# XML 유효성 검사
정의된 스키마에 대해 XML 문서의 유효성을 보장하는 것이 중요합니다. 이 문서에서는 XSD 스키마에 대해 XmlDocument
클래스를 사용하여 C# XML 유효성 검사를 보여줍니다.
기본 동작과 달리 XmlDocument
은 XML에 포함된 스키마에 대해 자동으로 유효성을 검사하지 않습니다. 이를 활성화하기 위해 XmlReaderSettings
을 구성하겠습니다. 구체적으로 ValidationType
을 Schema
으로 설정하고 ValidationFlags
을 활용하여 인라인 스키마, 스키마 위치 및 보고서 경고를 처리합니다.
<code class="language-csharp">XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;</code>
다음으로 이러한 설정을 사용하여 XmlReader
을 생성하고 ValidationEventHandler
을 등록하여 검증 결과를 캡처합니다.
<code class="language-csharp">XmlReader reader = XmlReader.Create("inlineSchema.xml", settings); reader.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);</code>
ValidationCallBack
메소드는 유효성 검사 이벤트를 처리합니다.
<code class="language-csharp">private static void ValidationCallBack(object sender, ValidationEventArgs args) { if (args.Severity == XmlSeverityType.Warning) Console.WriteLine("\tWarning: " + args.Message); else Console.WriteLine("\tValidation error: " + args.Message); }</code>
이 간소화된 방법은 포함된 스키마에 대해 XML의 유효성을 자동으로 검사하므로 XmlDocument
개체에 스키마를 수동으로 로드할 필요가 없습니다. ValidationCallBack
기능은 명확한 경고와 오류 메시지를 제공합니다.
위 내용은 C#에서 참조된 XSD 스키마에 대해 XML의 유효성을 검사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!