2010-07-08 3 views
0

Я разрабатываю каталог автомобилей и должен использовать файлы XML для хранения. В предыдущих проектах я вручную редактировал файлы XML с помощью Linq. Однако я столкнулся с сериализацией XML и думаю, что это может быть лучшим подходом. Каждый элемент каталога будет иметь тип CarItem и содержать различные атрибуты. Каталог может содержать несколько сотен автомобилей, и я беспокоюсь о производительности. Если я десериализую XML-файл, будет ли сразу создан экземпляр CarItems? Есть ли способ, чтобы я мог выбрать, какой объект будет десериализован на основе параметров? Например, я хотел бы сказать «если атрибут цвета автомобиля красный, а затем десериализовать красные« CarItems »на объекты».Сериализация/десериализация XML по каждому элементу

Спасибо за любые предложения

+0

Hi Superexsl, Можете ли вы уточнить какой-то код, как вы собираетесь десериализовать? Есть несколько способов, которыми вы могли бы это сделать, и ответ может зависеть от вашего подхода. –

+0

Привет Деревья. Я еще не запрограммировал какой-либо код сериализации/десериализации, поэтому я открыт для любых предложений. Спасибо за ответ. – XSL

ответ

1

Существует довольно много сообщений с хорошими примерами того, как вы можете управлять тем, что вы вытаскиваете, и создавать экземпляры объектов/скаляров с помощью XDocument.

Сообщение Shawn Oster's в сообщении this Я считаю, что это очень близко к тому, что вы хотите использовать linq. Вы можете легко добавить, где условия в соответствии с вашими требованиями.

+0

Кажется, что он должен выполнять эту работу. Спасибо за помощь! – XSL

+0

yw :)/15char .. –

1

Да, все они будут инстанцирован. Тем не менее, несколько сотен объектов не являются большой проблемой для класса с некоторыми простыми полями. Попробуйте и проверьте производительность.

+0

Спасибо за ответ. В этом случае я надеюсь, что может быть лучший подход, чем прямое сериализация/десериализация, чтобы иметь возможность повысить производительность (поскольку он находится на мобильном устройстве). – XSL

Смежные вопросы