2010-02-17 2 views

답변

0

당신은, XmlSchemaSet을 사용 예컨대을 : 필요

XmlSchemaSet schemaSet = new XmlSchemaSet(); 

schemaSet.Add(targetNamespace, schemaUri); 
schemaSet.Compile(); 

foreach(XmlSchemaElement element in schemaSet.GlobalElements.Values) 
{ 
    // do stuff... 
} 

편집 : 명확 없었던 죄송합니다.

주석에 // do stuff...이 표시되어있는 경우 XmlSchemaElement.SchemaType에서 사용 가능한 각 요소의 상속 된 유형과 XmlSchemaElement.ElementSchemaType 아래에서 사용할 수있는 요소의 인라인 유형을 트래버스해야합니다.

MSDN에는 사용자가 수행 한 모든 정보가 포함되어 있지만 다소 미로와 같은 작업을 수행하고 시행 착오를 거쳐야합니다.

내 의견에 따라 경찰 내 오픈 소스 사이드 프로젝트 중 하나에서 다음 클래스는 여기에 사용 될 수 있습니다 http://www.altova.com/xmlspy.html :이 도구를 체크 아웃하는 것이 좋습니다

http://bitbucket.org/philbooth/schemabrute/src/tip/LibSchemaBrute/Navigator.cs

+0

좋아, 나는 전역 요소를 모두 가지고 있지만이 전역 요소의 하위 요소를 어떻게 얻을 수 있습니까? 모든 것을 시도했지만 XmlSchemaElement에서 자식 요소에 대한 참조가없는 것 같습니다. – yukas

+0

좋아요,이 주석 중 하나에서 완전히 대답하는 것은 너무 복잡하지만, 본질적으로'XmlSchemaElement'의'SchemaType'과'ElementSchemaType' 멤버를 분석해야합니다. MSDN에는 모든 세부 사항이 포함되어 있지만 명확하게 이해하려면 약간의 조사가 필요합니다. 다른 질문을 게시하면 더 많은 도움을 줄 수 있습니다. 그렇지 않으면이 작은 것들을 수행하는 작은 프로젝트 중 하나를 살펴볼 수 있습니다. 살펴 봐야 할 수업은 LibSchemaBrute :: Navigator ~ http://bitbucket.org/philbooth/schemabrute/src/tip/LibSchemaBrute/Navigator.cs –

+0

입니다. 큰 감사드립니다. 코드를 다시 사용하도록하겠습니다. – yukas

-1

. 모든 XSD 파일에서 데이터 모델을 만들 수 있습니다. 나는 많은 XML 프로젝트에서 이것을 사용했다.

+0

죄송합니다. 어떤 도구도 필요하지 않습니다. 프로그램적인 조언이 필요합니다. – yukas

+0

공구가 필요 없다고해서 유감입니다. 나는 당신이 반드시 작업을 완료하는 데 도구가 필요하지 않다는 것을 알고 있습니다. 도구를 사용하면보다 빠르고 효율적으로 작업 할 수 있습니다. 많은 시간을 절약하고 매우 유용하기 때문에 XML을 사용하는 사람은이 도구를 사용해 볼 것을 제안합니다. 감사합니다 – Icono123

+0

-1는 나에게 너무 많은 스팸을 들리지만, 이것은 질문과 관련이 없습니다. –

관련 문제