2010-07-08 5 views
0

자동차 카탈로그를 디자인 중이며 저장소에 XML 파일을 사용해야합니다. 이전 프로젝트에서는 Linq로 수동으로 XML 파일을 편집했습니다. 그러나 XML 직렬화가 더 나은 접근 방식이라고 생각합니다. 카탈로그의 각 항목은 CarItem 유형이며 다양한 속성을 포함합니다. 카탈로그에는 수백 대의 자동차가 들어있을 수 있으며 성능에 대해 걱정하고 있습니다. XML 파일을 deserialize하면 모든 CarItems이 즉시 인스턴스화됩니까? 어떤 객체가 매개 변수를 기반으로 역 직렬화 될지 선택할 수있는 방법이 있습니까? 예를 들어, "자동차 색상 속성이 빨간색이면 빨간색 CarItem을 객체로 deserialize"라고 말하고 싶습니다.항목 당 XML 직렬화/직렬화 해제

제안 해 주셔서 감사합니다.

+0

안녕하세요 Superexsl, 일부 코드를 사용하여 디시 리아 레이션하는 방법을 명확히 할 수 있습니까? 이 문제를 해결할 수있는 몇 가지 방법이 있으며 답변은 접근 방식에 따라 다를 수 있습니다. –

+0

안녕하세요 나무. 필자는 아직 어떤 serialization/deserialize 코드도 프로그래밍하지 않았으므로 어떤 제안도 할 수 있습니다. 답장을 보내 주셔서 감사합니다. – XSL

답변

1

XDocument를 사용하여 객체/스칼라로 인스턴스화하고 인스턴스화하는 방법을 제어하는 ​​좋은 예가있는 게시물이 많이 있습니다.

Shawn Oster의 게시물은 this 스레드에 있습니다. 나는 linq를 사용하여 원하는 것에 매우 가깝다고 생각합니다. 요구 사항에 맞는 where 절을 쉽게 추가 할 수 있습니다.

+0

그건 그 일을 해야하는 것 같습니다. 도와 주셔서 감사합니다! – XSL

+0

yw :)/15char .. –

1

네, 모두 인스턴스화됩니다. 그러나 몇 가지 간단한 필드가있는 클래스의 경우 수백 개의 개체가 큰 문제가되지 않습니다. 시도하고 성능을 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 이 경우 성능을 향상시킬 수 있도록 직렬 직렬화/직렬화보다 더 나은 접근법이 필요할 것으로 기대됩니다 (모바일 장치에 있기 때문에). – XSL

관련 문제