매핑

2011-03-11 5 views
0
난 내 데이터베이스의 테이블에 서로 다른 형식의 XML 파일 (들)을지도 할 수있는 방법

내가 테이블이 Person매핑

FirstName nvarchar(50), 
LastName nvarchar(50), 
Address nvarchar(500) 

라는이 예를 들어 말을 데이터베이스 테이블에 (다른) XML (형식) I Person의 필드에 사용자가 제출 한 XML 파일을 매핑해야하는 XML 파일을 다른 형식으로 할 수 있습니다 예를 들어 한 사용자가 다음과 같은 형식

<Person> 

<Names> 
<FirstName>john</FirstName> 
<LastName>smith</LastName> 
</Names> 

<Names> 
<FirstName>john</FirstName> 
<LastName>smith</LastName> 
</Names> 


</Person> 

에 제출하고 다른 사용자가 다음과 같은 형식으로 제출 말할

<Person> 
<PersonalInfo> 

<Names> 
<FirstName>john</FirstName> 
<LastName>smith</LastName> 
</Names> 
. 
. 
. 
<PersonalInfo> 
</Person> 

사용자가 다른 형식 (다른 xml 형식)을 처리 할 솔루션을 어떻게 사용할 수 있습니까? 사용자가 xml 파일을 어떤 형식 으로든 제출하면 형식을 내 응용 프로그램에 알리면 값이 자동으로 나타납니다. 는 IDE와 C# .NET을 같은 비주얼 스튜디오 2010을 사용 상기 표 ... 메신저에 매핑됩니다, 내가 충분히 문제 ...

하시기 바랍니다 조언 ...

답변

1

내가 돈 때문에 '를 서술 한 희망 (얼마나 자주 매핑을 변경 할지를 의미하는) 동적 인 방법 또는 선호하는 ORM과 cr을 사용하여 공통 클래스에 테이블을 매핑하도록 제안하는 여러 가지 XML LinqToXml을 사용하여 클래스 인스턴스를 작성합니다 (매우 쉽습니다). XML 구조 당 하나의 메소드 또는 클래스.

LinqToXml 여기 샘플이 있습니다 -> 또한 http://www.switchonthecode.com/tutorials/introduction-to-linq-simple-xml-parsing

, 당신이 그것을 사용하고자하지는와 나는 XML 문자열에서 동적 객체를 생성하는 간단한 라이브러리를 만들어 .NET 4를 사용하는 경우. 당신은 여기에서 좀 걸릴 수 있습니다 ->https://github.com/tucaz/XmlToObjectParser

1
  1. 당신이 취득하는 스키마를 확인하고 최신 버전으로 변환하기 위해 적절한 XSLT 파일을 사용할 수 있습니다. : 당신은 스키마를 식별 할 일반적인 뭔가를해야한다 (예를 들어)

  2. (내가 좋아하는 1 이상) 매핑을 변경하는 소프트웨어 어댑터 인터페이스를 생성 (처럼 작동 기능 추가)