2016-06-30 4 views
0

(외부) 서비스를 사용하는 프로젝트에서 작업하고 있습니다.XSD 스키마를 클래스로 변환

공급 업체에서 XSD (89 개)의 전체 힙을 제공했으며 .NET (C#) 클래스/클래스 라이브러리로 변환해야합니다.

나는 그들이 오류 메시지가 내 내 인터넷 검색을 기반으로, 지금

type 'xxxxx' not declared 말과 실패, 상호 참조가 많이 존재로하지만,이에 대한 XSD 유틸리티를 사용하여 수입하고, 이것은 아주 간단하게 극복한다 (때문에 너무 오래 되 고 내가

  • 그것은 출력 .cs 함께 모든 스키마 이름을 연결 이름 (및 휴식을 파일 변환 89 개 파일이 "나무"하지만 ....

    1. 전체 참조를 컴파일 > 260char))

    기본 수준 스키마 (가져 오기가없는 스키마)로 시작한 다음 XSD에서 스키마를 변환하지만이 어셈블리의 모든 참조 된 형식을 사용한다고 말하면서 클래스 라이브러리 어셈블리를 만드는 방법을 생각했지만 어떻게 또는 가능할지라도. 난 그냥 빨아해야

    그래서

    , 내가 가장이 ... 어떤 조언을 환영하십시오 할 수있는 방법 ..

    그리고 네, 89 스키마는 많이 있습니다 불행하게도,이에 제어 할 수 없습니다 그것을 처리하십시오.

  • +0

    는 정말 코드가 실패 XML의 샘플을 참조 할 필요가있다. 일반적으로 xml serialization에 'type'이 사용되면 상속 된 클래스가 있음을 나타냅니다. 일반적으로 XML 직렬화를 테스트하기 위해 데이터가있는 테스트 클래스 세트를 만든 다음 데이터를 파일에 직렬화합니다. 그런 다음 프로세스를 역순으로하고 데이터를 비 직렬화합니다. 그런 다음 serialize xml 파일을 공급 업체가 제공 한 xml과 비교할 수 있습니다. – jdweng

    +0

    XML이 아닙니다 ... XSD .... 질문 제목이 모호함을 일으킬 수 있습니다 –

    +0

    서비스에'.asmx' 또는'.wsdl' 링크가 있습니까? 그렇다면 VS Solution Explorer에서'Service Reference ... '를 추가하여 클래스를 생성 해보십시오. –

    답변

    0

    xsd.exe에서 /P[arameters]:file.xmloption을 사용하여 많은 매개 변수를 명령 줄에서 전달하지 않고 별도의 파일에 지정할 수 있습니다. 이 XML의

    샘플 :

    <xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'> 
        <generateClasses language='CS' namespace='MyNamespace'> 
         <schema>FirstSchema.xsd</schema> 
         <schema>SecondSchema.xsd</schema> 
         <schema>ThirdSchema.xsd</schema> 
        </generateClasses> 
    </xsd> 
    
    관련 문제