2
파일 자체에 지정된 스키마가없는 특정 XML을 가져 오는 웹 서비스가 있습니다. 내 프로젝트에서 얻은 XML 파일을 테스트하는 데 사용할 XSD 스키마가 있습니다.특정 XSD 스키마에 대해 XML 유효성 검사
문제는 유효성 검사기가 유효하지 않은 경우에도 유효성 검사기가 파일을 수락하는 것입니다.
내가 사용하는 코드는이 (쉽게하기 위해 일부 부분이 생략)이다 : 나는 위대한 일을 인라인 지정된 스키마에 몇 가지 솔루션을 발견했습니다
var schemaReader = XmlReader.Create(new StringReader(xmlSchemeInput));
var xmlSchema = XmlSchema.Read(schemaReader, ValidationHandler);
var xmlReaderSettings = new XmlReaderSettings();
xmlReaderSettings.Schemas.Add(xmlSchema);
xmlReaderSettings.ValidationEventHandler += ValidationHandler;
xmlReaderSettings.ValidationType = ValidationType.Schema;
xmlReaderSettings.ValidationFlags |= XmlSchemaValidationFlags.ProcessIdentityConstraints;
xmlReaderSettings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
xmlReaderSettings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation;
using(var xmlReader = XmlReader.Create(new StringReader(xmlInput), xmlReaderSettings))
{
while (xmlReader.Read()) { }
}
// return if the xml is valid or not
하지만 스키마와 같은 지정 이 (나는 작동해야한다고 생각한다) 나는 어떤 것도 찾을 수없는 것처럼 보인다.
내가 잘못 했나요? 아니면이게 어떻게 작동 할 것이라고 가정 할 때 나는 틀린가?
감사합니다.