2012-08-07 2 views
0

도움이 필요하면 도움을 주셔서 감사합니다.복잡한 xml의 XSD 준비

어제 저는 XML에서 데이터를 구문 분석하고 데이터베이스에 저장해야하는 asp.net 4.0에서 웹 응용 프로그램을 개발하려고했습니다. 그러나 그 전에 나는 그것을 검증해야 할 것이다.

.net 제공된 도구 xsd.exe를 사용하여 스키마 파일을 생성 해 보았습니다. 그러나 어떤 노드 또는 속성을 필수로 표시하는지 어떻게 알 수 있습니까? 항목 아래에있는 내 XML에서와 마찬가지로

이 필수입니다 아래
Root node <Market> 
<Login> and its sub element 
<ProductType> and its <ProductTypeID/> 
The attribute DML is mandatory but should have only 3 values NONE, PUT or MODIFY 
<ProductType> may or may not have <ProductItem> 
If <ProductItem> is present then it should have <ProductItemID> 
<ProductItem> may or may not have <Brand> 
If <Brand> is present then it should have <BrandID> 

내 XML입니다

<?xml version="1.0" encoding="utf-8" ?> 
<Market> 
    <Login> 
     <LoginId /> 
     <Password />   
    </Login> 

    <ProductType DML="NONE"> 
     <ProductTypeID/> 
     <Name/> 
     <Detail/>  

     <ProductItem DML="PUT"> 
      <ProductItemID/> 
      <Name/> 
      <Detail/> 

      <Brand DML="PUT"> 
       <BrandID/> 
       <Name/> 
       <Detail/> 
      </Brand> 

      <Brand DML="MODIFY"> 
       <BrandID/> 
       <Name/> 
       <Detail/> 
      </Brand> 
     </ProductItem> 

     <ProductItem DML="MODIFY"> 
      <ProductItemID/> 
      <Name/> 
      <Detail/> 
     </ProductItem>   
    </ProductType> 
</Market> 

어떻게 내 XSD는 다음과 같이 생성되도록 내가 모든 필수 및 선택적 매개 변수를 지정해야합니다 요구 사항에 따라.

감사합니다,

M.

답변

0

xsd.exe 만하면 XML에있는 요소/속성 추론을 시도 할 수 있지만 필수 인 정보를 찾을 수 없습니다. 그러나 이것은 좋은 시작점입니다.

graphical XML_Schema_Editor을 사용하여 생성 된 xsd를 편집하여 필수 입력란을 표시하십시오. xsd 언어를 배우는 것보다 훨씬 쉽습니다.

+0

오, 그게 xsd.exe에 의해 생성 된 xsd를 특별히 편집해야한다는 것을 의미합니다.이 도구를 사용하면 vs2010에서 쉽게이 도구를 제공합니까? – thinkmmk

+0

vs2010을 사용하여 xsd를 편집 할 수 있지만 변경 후 요소에 "DML"과 같은 속성을 예제로 변환한다고 생각합니다. vs2003 xsd 편집기는이 작업을 수행하지 않습니다. 대 xsd 편집기는 입력 된 데이터 세트에 초점을 맞 춥니 다. Microsoft 데이터 집합 구현에서는 XML을 읽을 때 DML이 특성 또는 요소라는 것은 중요하지 않습니다. – k3b

0

XSD가 중첩 된 XML을 지원한다고 생각하지 않습니다. XmlDocument에 XML을로드하고 수동으로 필수 필드를 확인하려고합니다.