Microsoft의 xsd.exe를 사용하여 CustomerData 클래스를 만드는 XML 스키마 인 CustomerData.xsd가 있습니다. 내 프로그램은 XML 파일에 읽고파일에 저장하기 전에 직렬화 된 XML 유효성 검사
는 다음 코드를 사용하여 CustomerData의 인스턴스를 얻기 위해 XmlSerializer를 사용 : 내 프로그램이 customerData 수정할 수 있습니다 실행되는 동안
XmlSerializer serializer = new XmlSerializer(typeof(CustomerData));
TextReader textReader = new StreamReader(fileName);
CustomerData customerData = (CustomerData)serializer.Deserialize(textReader);
textReader.Close();
및 가능성이있는 값의 일부는 수도 스키마에 따라 유효하지 않습니다.
사용자가이 데이터를 파일에 저장하기 전에 유효성을 검사 할 수 있기를 원합니다. 저장하기 전에 데이터의 유효성을 검사하려면 어떻게해야합니까?
주 - 나는 포함 리소스로 스키마가 그래서 같은 스키마에 도착하는 다음과 같은 코드를 사용할 수 있습니다 컴파일 :
Assembly myAssembly = typeof(CustomerData).Assembly;
Stream schemaStream = myAssembly.GetManifestResourceStream(schemaResourceName);
나는 또한 검증 SchemaReader 만드는 방법을 알고 :
XmlReader schemaReader = XmlReader.Create(schemaStream);
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, schemaReader);
settings.ValidationType = ValidationType.Schema;
을
나는 다음에 무엇을 해야할지 모르겠다.