2009-06-30 4 views
2

런타임시 특정 XSD (요소)의 .NET 객체 표현을 가져 오려고합니다.Linq 런타임시 XSD로

디자인 타임이 아닌 런타임시 Linq를 사용하여 XSD를 수행하려면 어떻게해야합니까?

감사합니다. - 란.

+0

처럼 액세스 할 수 있습니다 nd Xml.Linq. 디자인 타임에 있다고 생각하는 이유는 무엇입니까? – AnthonyWJones

+0

이 블로그 예 : http://weblogs.asp.net/fmarguerie/archive/2007/01/15/linq-to-xsd-typed-xml-programming-with-linq.aspx – Ran

+0

참조 : http : //linqtoxsd.codeplex.com/ "LINQ to XSD 기술을 통해 .NET 개발자는 입력 된 XML 프로그래밍을 지원할 수 있습니다 ..." – Ran

답변

1

두 가지 프로젝트에서 사용합니다.

프로젝트 파일을 직접 편집하여 대상으로 추가해야합니다. 정보가 부족한 의견에 동의합니다. 참조

먼저 당신은 당신의 프로젝트에 DLL을 참조 할 필요 당신이 '언로드'프로젝트에이

다음 (다시 오른쪽 클릭) 프로젝트 파일을 편집

(오른쪽 프로젝트 파일을 클릭)

</PropertyGroup> // End of other property groups 
<PropertyGroup> 
    <TXLINQBinDir Condition="'$(TXLINQBinDir)' == ''">$(ProgramFiles)\LINQ to XSD Preview\Bin</TXLINQBinDir> 
</PropertyGroup> 
<ItemGroup> 
    <Reference Include="Microsoft.Xml.Schema.Linq, Version=0.10.1000.0, Culture=neutral, processorArchitecture=MSIL"> 
     <SpecificVersion>False</SpecificVersion> 
     <HintPath>..\..\..\..\Program Files\LINQ to XSD Preview\Bin\Microsoft.Xml.Schema.Linq.DLL</HintPath> 
    </Reference> 
<Reference Include="XOTask, Version=0.10.1000.0, Culture=neutral, processorArchitecture=MSIL"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>..\..\..\..\Program Files\LINQ to XSD Preview\Bin\XOTask.dll</HintPath> 
</Reference> 
<Reference> // Other references 

<ItemGroup> 
// Other item groups 
</ItemGroup> 
<ItemGroup> 
    <LinqToXsdSchema Include="Schema\YourSchema.xsd" /> 
</ItemGroup> 

<Import Project="$(TXLINQBinDir)\LinqToXsd.targets" /> 

당신은 아마 $ (의 ProgramFiles)와 함께 .... \ 넌센스을 대체 할 수있는 프로젝트 파일의 XML에 다음을 추가 심판 예언하지만 나는 그것을 시험하지 않았다. 또한 xsd 파일의 속성으로 이동하는 경우 ItemGroup 부분을 생략 할 수 있습니다. 빌드 액션 중 하나는 "LinqToXsd.theme"이어야합니다 (LinqToXsd.target을 설정 한 후에 만).

이제 xsd 파일을 다음과 같이 사용할 수 있습니다. 구문 분석 방법

를 사용하여 완전히 장착 된 객체는

내 XSD 루트 요소는

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
     <xs:element name="AlertData"> 
     </xs:element> 

그래서 코드에서 나는 XSD a를 사이에 커플 링이 없습니다이

// Parse the xml doc as my LinqToXsd object  
AlertData XmlSource = AlertData.Parse(xmlSource.ToString()); 

// Start accessing xelements 
XmlSource.waalert.waa_alert 
관련 문제