2010-08-19 3 views
0

.xsd 스키마를 기반으로 C# 클래스를 생성하려고합니다. 이 스키마에는 배치 파일의 명령 줄에 몇 가지 가져 오기가 포함되어 있습니다. 또한 디스크에있는 파일을 찾기 위해 schemaLocation을 사용하여 해결해야하는 포함 사항이 있습니다. 아마도 선언되지 않은 여러 유형의 오류가 발생합니다. 이러한 정의는 값이 사용되는 스키마 아래의 폴더에있는 "포함 된"스키마에 있습니다.XSD 런타임 개체 생성

+0

C# 클래스 (예 : xsd.exe)를 생성하는 데 사용하는 항목과 실행시 정확한 오류를 게시하십시오. – captaintom

+0

xsd.exe - 스키마 유효성 검사 경고 : 형식 '....'이 (가) 선언되지 않았습니다. 오류가 발생하는 스키마에 포함 된 스키마에 선언이 있습니다 (가져 오지 않아 스키마가 명시 적으로 나열되지 않음) . C# 클래스를 생성 한 다음 내 서비스에서이 클래스를 사용하여 들어오는 xml 문자열을 deserialize해야합니다. – jmac

답변

0

포함 된 스키마가있는 경우 XSD.EXE가이를 잘 처리하지만 문서를 찾기 위해 조사해야합니다.

XML 파일을 사용하여 XSD.EXE를 지정하는 방법에 대한 자세한 내용은 this link을 참조하십시오. 짧은 버전은 여러 개의 <Schema> 노드가있는 작은 xml 파일을 만듭니다. 실제로 스키마와 가져온 스키마가 필요한 스키마입니다.

그런 다음 XSD.EXE /p [yourXsdFile.xsd]을 실행합니다. 지시 사항을 올바르게 따라했다면 (한 번만 해본 결과 전문가가 아니므로 원하는 결과를 얻으려는 시도가 두 번이나 걸렸습니다.) 모든 .cs 파일을 하나의 .cs 파일로 가져옵니다. 필요한 클래스 데이터

+0

XML 파일을 사용하여 구현 된 것을 보았습니다. 이렇게하면 명령 줄에서 참조 된 모든 스키마를 나열하지 않아도됩니다. 이는 가져 오기를위한 것입니다. 내 문제는 내가 그 다음 10 다른 스키마가 포함 된 포함되어 있습니다. 이것들은 모두 명시 적으로 같은 이름 공간에 있습니다. 그러나 xsd.exe는 경로를 확인하지 않고 스키마를 사용합니다. – jmac