2011-08-24 4 views
1

XML의 값을 채우기 위해 XSD 파일이 제공되었습니다. 웹 서비스에 제출하기 위해 생성 중입니다.값을 XSD에 쿼리 하시겠습니까?

XSD는 주석 및 기타 정보가 들어있는 열거 형 값을 정의합니다. 묘사하는 가장 좋은 방법은 XSD의 일부를 보여주는 것입니다.

<?xml version="1.0" encoding="utf-16" ?> 
    <xs:schema xmlns="http://MyCompany/Schemas" xmlns:b="http://schemas.microsoft.com/BizTalk /2003" elementFormDefault="qualified" targetNamespace="http://MyCompany/Schemas" id="NAICSTypes" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:simpleType name="NAICSType"> 
    <xs:restriction base="xs:int"> 
     <xs:enumeration value="111110"> 
     <xs:annotation> 
      <xs:appinfo>2007 NAICS Title</xs:appinfo> 
      <xs:documentation xml:lang="en-us">Soybean Farming</xs:documentation> 
     </xs:annotation> 
    </xs:enumeration> 
    <xs:enumeration value="111120"> 
     <xs:annotation> 
      <xs:appinfo>2007 NAICS Title</xs:appinfo> 
      <xs:documentation xml:lang="en-us">Oilseed (except Soybean) Farming</xs:documentation> 
     </xs:annotation> 
    </xs:enumeration> 
    <xs:enumeration value="111130"> 
     <xs:annotation> 
      <xs:appinfo>2007 NAICS Title</xs:appinfo> 
      <xs:documentation xml:lang="en-us">Dry Pea and Bean Farming</xs:documentation> 
     </xs:annotation> 
    </xs:enumeration> 
    <xs:enumeration value="111140"> 
     <xs:annotation> 
     <xs:appinfo>2007 NAICS Title</xs:appinfo> 
     <xs:documentation xml:lang="en-us">Wheat Farming</xs:documentation> 
     </xs:annotation> 
    </xs:enumeration> 
    <xs:enumeration value="111150"> 
     <xs:annotation> 
     <xs:appinfo>2007 NAICS Title</xs:appinfo> 
     <xs:documentation xml:lang="en-us">Corn Farming</xs:documentation> 
     </xs:annotation> 
    </xs:enumeration> 

는 기본적으로 내가 뭘해야 111150과 같은 값을 제공하고, C#을

어떤 제안의 결과로 "옥수수 농업"을 다시 얻을 수있다?

답변

0

그냥 XML을 쿼리하려면 SelectNodes 또는 SelectSingleNode를 사용할 수 있습니다. 또한 쿼리에 네임 스페이스 관리자를 지정해야합니다. 이 같은

뭔가 :

XmlNamespaceManager nsMgr = new XmlNamespaceManager(); 
nsMgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema"); 
string value = 
    doc.SelectSingleNode("//xs:enumeration[@value='111150']//xs:documentation", nsMgr 
    ).InnerText; 
0

이 링크는 C#을 사용하여 XML 파일을 읽을 때 매우 유용합니다.

Generate classes from XML

당신은 특정 스키마의 XML 파일을 읽을 클래스를 생성하려면 Visual Studio에서 XSD 도구를 사용할 수 있습니다. 모델 클래스를 만들면 원하는 데이터를 쉽게 파싱 할 수 있습니다. 마찬가지로 xml 파일에서 개체를 만들 때 특정 특성 및 자식을 읽는 것이 매우 쉽습니다.

xsd 파일 자체가 xml 파일이라는 것을 추가해야합니다. 동일한 개념을 xsd 읽기에 적용 할 수 있습니다.

+0

내가 조금 일찍 것을 시도했다. 오류 : "경고 : 복잡한 유형 이있는 최상위 요소가 없으므로 클래스를 생성 할 수 없습니다." 맨 위에 "SimpleType"정의가있을 수 있습니다. 그래도 고마워. – SpaceCowboy74

관련 문제