XML 문서는 xsi:schemaLocation
속성을 사용하여 외부 스키마를 참조할 수 있습니다. 그러나 C#에서 XML 유효성 검사를 수행할 때 XML 파일을 수동으로 로드하는 대신 XML 파일에 지정된 스키마를 활용하고 싶을 수도 있습니다.
인라인 모드 기반 자동 검증을 구현하려면 다음 방법을 사용할 수 있습니다.
<code class="language-csharp">using System.Xml; using System.Xml.Schema; using System.IO; public class ValidXSD { public static void Main() { // 初始化 XmlReaderSettings 实例。 XmlReaderSettings settings = new XmlReaderSettings { ValidationType = ValidationType.Schema, ValidationFlags = XmlSchemaValidationFlags.ProcessInlineSchema | XmlSchemaValidationFlags.ProcessSchemaLocation | XmlSchemaValidationFlags.ReportValidationWarnings }; // 注册验证事件处理程序。 settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack); // 使用设置创建 XmlReader。 XmlReader reader = XmlReader.Create("inlineSchema.xml", settings); // 处理 XML 文件。 while (reader.Read()) ; } // 验证回调的事件处理程序。 private static void ValidationCallBack(object sender, ValidationEventArgs args) { // 处理验证警告或错误。 if (args.Severity == XmlSeverityType.Warning) Console.WriteLine($"\t警告: {args.Message}"); else Console.WriteLine($"\t错误: {args.Message}"); } }</code>
이 방법은 ValidationType
속성을 사용하여 스키마 유효성 검사를 지정하고 관련 ValidationFlags
을 사용하여 인라인 스키마 및 스키마 배치 사용을 나타냅니다. ValidationEventHandler
은 구문 분석 중에 발생할 수 있는 유효성 검사 오류나 경고를 처리하는 데 사용됩니다.
위 내용은 C#에서 포함된 스키마 유효성 검사를 사용하여 XML을 구문 분석하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!