문제

프로젝트 종료 전날 나는 복잡한 문제가 발생합니다. WTF 서비스와 3 개의 클라이언트 응용 프로그램이 있습니다. 서비스에는 세 가지 방법이 있습니다. 각 방법은 XML 문서를 인수로 수신하고 XML 문서를 반환합니다. 이것이 그들이 의사 소통하는 방법입니다. 생성 및 수신 된 XSD 파일이 있습니다. 오늘까지 모든 것이 잘 작동했습니다. 폴란드 창문이 있고 오늘은 영어 창에서 응용 프로그램을 실행합니다. 아마도 지금까지 깨달았을 때, 나는 수신 된 XML이 유효하지 않다는 응용 프로그램에서 메시지를 받았습니다. 나는 그것을 확인했고 XML에서 두 배로 수신 된 var 값은 기간으로 작성되었습니다 (또는 혼수 상태, 기억하지 못하지만 작동하지 않았습니다). 지금 궁금합니다.이 문제에 대한 좋은 해결책이 있습니까? 나는 다음과 같이 XML을 검증한다는 것을 의미합니다.

public bool IsValid(XDocument xmlDocument, Stream xsdContent)
        {
            XmlSchemaSet schemaSet = new XmlSchemaSet();
            XmlReader reader = XmlReader.Create(xsdContent);
            schemaSet.Add(string.Empty, reader);

            valid = true;
            xmlDocument.Validate(schemaSet, (sender, eventt) => { valid = false; e
= eventt; });

            return valid;
        }

유효성 검사기에게 분리기가 두 배로 무엇인지 알 수있는 방법은 없습니다. 내가 생각할 수있는 유일한 솔루션은 XSD에서 문제가있는 var 값이 문자열이라는 것을 간단히 지정 한 다음 Programmaticaly가 기간 또는 혼수 상태 인 경우 프로그래밍 방식을 확인하는 것입니다.

도움이 되었습니까?

해결책

그만큼 XML 스키마 사양 부동 소수점 번호는 쉼표를 사용하지 않고 기간을 사용하여 표시되는 것을 지정합니다. 로케일은 유효한 XML에 영향을 미치지 않습니다.

당신은 당신의 오류를 포함하지 않습니다. 바라건대 숫자에 쉼표가 있다고 불평하기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top