2010-04-28 3 views
1

내 현재 응용 프로그램에서 gedcom 파일에서 사용자를 가져와야합니다. 이러한 사용자는 내 등록 된 사용자에 존재할 수도 있고 동일한 사용자에 대해 하나의 등록 된 사용자를 만들어야 할 수도 있습니다. 지금 gedcom 파일에는 많은 정보가 포함되어 있습니다. 예 : PersonalDetails, Addresses, Education Details, ProfessionalDetails 이것은 사용자 프로필을 저장하기 위해 저장하는 xml 파일의 한 샘플입니다.최소한의 데이터베이스 왕복으로 gedcom 가져 오기를 수행하는 방법. 이 종류의 개발을위한 최선의 방법은 무엇입니까

<UserProfile xmlns=""> 
    <BasicInfo> 
    <Title value="Basic Details" /> 
    <Fields> 
     <UserId title="UserId" right="Public" value="151" /> 
     <EmailAddress title="Email Address" right="CUG" value="[email protected]" /> 
     <FirstName title="First Name" right="Public" value="Anju" /> 
     <LastName title="Last Name" right="Public" value="Trivedi" /> 
     <DisplayName title="Display Name" right="Private" value="Anju" /> 
     <RegistrationStatusId title="RegistrationStatusId" right="Public" value="19" /> 
     <RegistrationStatus title="Registration Status" right="Private" value="Registered" /> 
     <CityId title="CityId" right="Private" value="19" /> 
     <CityName title="City" right="Public" value="Delhi" /> 
     <StateId title="StateId" right="Private" value="69" /> 
     <StateName title="State" right="Public" value="Delhi" /> 
     <CountryId title="CountryId" right="Private" value="109" /> 
     <CountryName title="Country" right="Public" value="India" /> 
     <Gender title="Gender" right="Private" value="Male" /> 
     <CreatedBy title="CreatedBy" right="Public" value="0" /> 
     <CreatedOn title="CreatedOn" right="Public" value="Nov 27 2009 3:08PM " /> 
     <ModifiedBy title="ModifiedBy" right="Public" value="13" /> 
     <ModifiedOn title="ModifiedOn" right="Public" value="Mar 3 2010 6:56PM " /> 
     <LogInStatusId title="LogInStatusId" right="Public" value="1" /> 
     <LogInStatus title="LogIn Status" right="Private" value="Free" /> 
     <ProfileImagePath title="Profile Pic" right="Public" value="~/Images/13_HolidayBarbie07CL2010427143129.jpg" /> 
     <ProfileThumbnailPath title="Profile Thumbnail" right="Public" value="~/Images/Thumb13_HolidayBarbie07CL2010427143129.jpg" /> 
    </Fields> 
    </BasicInfo> 
    <PersonalInfo> 
    <Title value="Personal Details" /> 
    <Fields> 
     <Nickname title="Nick Name" right="Public" value="Anju" /> 
     <NativeLocation title="Native" right="Public" value="Mehsana" /> 
     <DateofAnniversary title="Anniversary Dt." right="Private" value="4/1/2010" /> 
     <BloodGroupId title="BloodGroupId" right="Public" value="24" /> 
     <BloodGroupName title="Blood Group" right="Public" value="A+" /> 
     <MaritalStatusId title="MaritalStatusId" right="Private" value="35" /> 
     <MaritalStatusName title="Marital status" right="Private" value="UnMarried" /> 
     <DateofDeath title="Death dt" right="Private" value="" /> 
     <CreatedBy title="CreatedBy" right="Public" value="" /> 
     <CreatedOn title="CreatedOn" right="Public" value="" /> 
     <ModifiedBy title="ModifiedBy" right="Public" value="13" /> 
     <ModifiedOn title="ModifiedOn" right="Public" value="4/27/2010 2:32:07 PM" /> 
     <DateOfBirth title="Birth Date" value="" right="Public" /> 
     <BirthPlace title="Birth Place" value="Jaipur" right="Private" /> 
    </Fields> 
    </PersonalInfo> 
    <FamilyInfo> 
    <Title value="Family Details" /> 
    <Fields> 
     <GallantryHistory title="Gallantry History" right="Public" value="Anjli History" /> 
     <Ethinicity title="Ethinicity" right="Public" value="Indian" /> 
     <KulDev title="KulDev" right="Public" value="Krishna" /> 
     <KulDevi title="KulDevi" right="Public" value="Lakhsmi" /> 
     <Caste title="Caste" right="Private" value="Vaishnav" /> 
     <SunSignId title="SunSignId" right="Public" value="15" /> 
     <SunSignName title="SunSignName" right="Public" value="Gemini" /> 
    </Fields> 
    </FamilyInfo> 
    <HobbyInfo> 
    <Title value="Hobbies/Interests" /> 
    <Fields> 
     <AbountMe title="Abount Me" right="Public" value="" /> 
     <Hobbies title="Hobbies" right="Public" value="" /> 
     <Food title="Food" right="Public" value="" /> 
     <Movies title="Movies" right="Public" value="" /> 
     <Music title="Music" right="Public" value="" /> 
     <TVShows title="TV Shows" right="Public" value="" /> 
     <Books title="Books" right="Public" value="" /> 
     <Sports title="Sports" right="Public" value="" /> 
     <Will title="Will" right="Public" value="" /> 
     <FavouriteQuotes title="Favourite Quotes" right="Public" value="" /> 
     <CremationPrefernces title="Cremation Prefernces" right="Public" value="" /> 
    </Fields> 
    </HobbyInfo> 
    <PermenantAddr> 
    <Title value="Permenant Address" /> 
    <Fields> 
     <Address title="Address" right="Public" value="Select" /> 
     <CityId title="CityId" right="Public" value="116" /> 
     <CityName title="City" right="Public" value="Iran" /> 
     <StateId title="StateId" right="Public" value="95" /> 
     <StateName title="State" right="Public" value="Iran" /> 
     <CountryId title="CountryId" right="Public" value="7" /> 
     <CountryName title="Country" right="Public" value="Afghanistan" /> 
     <ZipCode title="ZipCode" right="Private" value="" /> 
    </Fields> 
    </PermenantAddr> 
    <PresentAddr> 
    <Title value="Present Address" /> 
    <Fields> 
     <Address title="Address" right="Public" value="Select" /> 
     <CityId title="CityId" right="Public" value="1" /> 
     <CityName title="City" right="Public" value="Select" /> 
     <StateId title="StateId" right="Public" value="1" /> 
     <StateName title="State" right="Public" value="Select" /> 
     <CountryId title="CountryId" right="Public" value="1" /> 
     <CountryName title="Country" right="Public" value="Select" /> 
     <ZipCode title="ZipCode" right="Private" value="" /> 
    </Fields> 
    </PresentAddr> 
    <ContactInfo> 
    <Title value="Contact Details" /> 
    <Fields> 
     <DayPhoneNo title="Day Phone" right="Public" value="" /> 
     <NightPhoneNo title="Night Phone" right="Public" value="" /> 
     <MobileNo title="Mobile No" right="Private" value="" /> 
     <FaxNo title="Fax No" right="CUG" value="" /> 
    </Fields> 
    </ContactInfo> 
    <EmailInfo> 
    <Title value="Alternate Email Addresses" /> 
    <Fields> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="3" /> 
     <Provider title="Provider" right="Public" value="google" /> 
     <EmailAddress title="Email Address" right="Public" value="[email protected]" /> 
     <IsActive title="IsActive" right="Public" value="false" /> 
     <CreatedBy title="CreatedBy" right="Public" value="13" /> 
     <CreatedOn title="CreatedOn" right="Public" value="Mar 3 2010 10:17AM " /> 
     <ModifiedBy title="ModifiedBy" right="Public" value="0" /> 
     <ModifiedOn title="ModifiedOn" right="Public" value="     " /> 
     </Record> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="4" /> 
     <Provider title="Provider" right="Public" value="Yahoo" /> 
     <EmailAddress title="Email Address" right="Public" value="[email protected]" /> 
     <IsActive title="IsActive" right="Public" value="false" /> 
    </Record> 
     <Record right="Private"> 
     <Provider value="111" right="Private" /> 
     <EmailAddress value="[email protected]" right="Private" /> 
     <Id value="5" /> 
    </Record> 
    </Fields> 
    </EmailInfo> 
    <AcademicInfo> 
    <Title value="Education Details" /> 
    <Fields> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="0" /> 
     <Education title="Education" right="Public" value="" /> 
     <Institute title="Institute" right="Public" value="" /> 
     <PassingYear title="Passing Year" right="Public" value="" /> 
     </Record> 
    </Fields> 
    </AcademicInfo> 
    <AchievementInfo> 
    <Title value="Achievement Details" /> 
    <Fields> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="0" /> 
     <Awards title="Award" right="Public" value="" /> 
     <FieldOfAward title="Field Of Award" right="Public" value="" /> 
     <Tournament title="Tournament" right="Public" value="" /> 
     <AwardDescription title="Description" right="Public" value="" /> 
     <AwardYear title="Award Year" right="Public" value="" /> 
     </Record> 
    </Fields> 
    </AchievementInfo> 
    <ProfessionalInfo> 
    <Title value="Professional Details" /> 
    <Fields> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="4" /> 
     <Occupation title="Occupation" right="Public" value="a" /> 
     <Organization title="Organization" right="Public" value="a" /> 
     <ProjectsDescription title="Description" right="Public" value="a" /> 
     <Duration title="Duration" right="Public" value="2"/
     </Record> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="5" /> 
     <Occupation title="Occupation" right="Public" value="ab" /> 
     <Organization title="Organization" right="Public" value="zsd" /> 
     <ProjectsDescription title="Description" right="Public" value="sd" /> 
     <Duration title="Duration" right="Public" value="5" /> 
     </Record> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="8" /> 
     <Occupation title="Occupation" right="Public" value="fgdf" /> 
     <Organization title="Organization" right="Public" value="gdfg" /> 
     <ProjectsDescription title="Description" right="Public" value="dfgdf" /> 
     <Duration title="Duration" right="Public" value="12" /> 
     </Record> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="9" /> 
     <Occupation title="Occupation" right="Public" value="fgdf" /> 
     <Organization title="Organization" right="Public" value="gdfg" /> 
     <ProjectsDescription title="Description" right="Public" value="dfgdf" /> 
     <Duration title="Duration" right="Public" value="12" /> 
     </Record> 
     <Record right="Public"> 
     <Id title="Id" right="Public" value="10" /> 
     <Occupation title="Occupation" right="Public" value="fgdf" /> 
     <Organization title="Organization" right="Public" value="gdfg" /> 
     <ProjectsDescription title="Description" right="Public" value="dfgdf" /> 
     <Duration title="Duration" right="Public" value="12" /> 
     </Record> 
    </Fields> 
    </ProfessionalInfo> 
</UserProfile> 

이제 gedcom에서 데이터를 가져올 때이 정보가 모두 포함 된 하나의 개체가 생성됩니다. 하지만 itodatabase 그것을 삽입하기 전에 사용자 ID가 전자 메일 주소에 대한 존재 여부를 확인해야합니다 다른 사용자를 만들고 gedcom에서 데이터를 fecthed 데이터에서 해당 프로필 xml을 업데이 트하십시오.

나는 데이터베이스에 대해 단 한 번의 왕복을 할 수 있고 모든 사용자의 XML을 업데이트 할 수있는 솔루션이 필요하다고 생각합니다.

또는 사용자가 다음 사용자 ID, 그렇지 않은 기본 데이터를 삽입하고 반환 삽입 사용자 ID

을 한 후 모든 사용자 데이터에서 XML을 확인하고이를 업데이트 존재하는 경우 내가 확인해 볼 수있는 곳 난 모든 사용자의 사용자 ID를 얻기 위해 하나의 SP를 실행할 수 있습니다 .

이런 종류의 개발을 수행하는 것이 가장 좋은 방법인지 제안 해주십시오. 더 자세한 내용이 필요하면

당신은 새 파일에 대한 사용자를 얻기 위해 데이터베이스에 하나 개의 쿼리를 보낼 수 나에게

답변

0

을 기입하십시오 : 당신은 당신이 확인할 수 있습니다 돌아올 결과에서 다음

select * from person_table where [email protected] or userID = [email protected] or ... 

결과 집합에 각 사용자에 대한 레코드가 있는지 확인하고 그에 따라 절차를 수행하십시오.

관련 문제