Должен ли я сохранить свой XML-канал в базе данных или использовать XML-анализатор для его обработки? - PullRequest
0 голосов
/ 20 июля 2011

Я создаю сценарий сравнения цен, который будет работать с XML-лентами, предоставленный мне многими магазинами.Эти XML-файлы будут иметь такую ​​же структуру, как показано ниже

    <product id="449135">
<name>MadBiker 600</name>
<link>MadBiker-600.html</link>
<price_with_vat>107.01</price_with_vat>
<category id="148807">For men</category>
<image width="280" height="280">p1.1.jpg</image>
<description>desc goes here</description>
     </product>

Чтобы справиться с этим, у меня есть два варианта.Продолжить работу с XML-файлом или сохранить эти данные / значения в базе данных.Я читал, что есть некоторые синтаксические анализаторы с низкой памятью, такие как SAX / XMLReader.

Что меня больше интересует, так это использование парсера для одного файла вместо использования СУБД.

мнение по этому поводу?

спасибо

1 Ответ

1 голос
/ 21 июля 2011

В основном это зависит от того, для чего вы хотите поместить данные.

Я предполагаю, что вы захотите иметь возможность сортировать и фильтровать данные (например, «сортировать по цене, desc» или «фильтровать по категории = мужская»).Я также предполагаю, что вам нужна какая-то функция "релевантности" для вычисления и поиска.

Я также предполагаю, что вы будете постоянно добавлять, удалять и изменять данные сравнения.

Вообще говоря, эти вещи легче сделать в SQL, чем при разборе файла XML - особенно в масштабе.

С другой стороны, SQL затрудняет представление различных атрибутов данных для разных типов продуктов (велосипедам может потребоваться размер кадра, одежде может потребоваться цвет).Если это является частью вашей проблемы, XML упрощает хранение данных - вы определяете схему / dtd и пишете документы, соответствующие этой схеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...