Хранить данные в XML или SQL? - PullRequest
4 голосов
/ 02 декабря 2011

Я разрабатываю приложение для Windows Phone 7.5.

Мне нужно хранить 22 элемента со следующими полями:

  1. Number (int).
  2. Имя (строка).
  3. Описание (строка).

Имя и описание будут на разных языках.

Теперь я использую XML-файл, напримерэто:

<?xml version="1.0" encoding="utf-8" ?>
<cards>
  <card id ="0" name="Mad" description="xxx" ></card>
...
</cards>

Я не очень много работал с XML, и я не уверен, что это лучший способ сделать это.

Какой совет?Что вы мне порекомендуете?Мне нужно хранить каждое имя и описание в разных языках.

Ответы [ 3 ]

3 голосов
/ 02 декабря 2011

Я бы структурировал ваш xml следующим образом

 <cards>
   <card id ="0">
      <name lang="en">Mad</name>
      <description lang="en">xxx</description>
   </card>
   <card id ="1">
      <name lang="fr">Brother</name>
      <description lang="fr">xxx</description>
   </card>
   .... etc ....
 </cards>

Имея его в этой структуре, вы имеете только 1 атрибут на элемент, и легко найти дочерние элементы, которые представляют собой данные, которые вы ищете.

На самом деле есть еще один вопрос, который касается этого Лучшие практики XML: атрибуты и дополнительные элементы

0 голосов
/ 02 декабря 2011

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

0 голосов
/ 02 декабря 2011

Читая ваш пост и теги, я понимаю, что вы хотите сохранить эти данные в SQL SERVER.Вы можете иметь таблицу с разными языками, и XML должен будет содержать атрибуты name и description в соответствии с этими языками, такие как name_ES, name_EN, name_FR, ... (то же самое для описания).

Тогда,программно, вы можете иметь объект DataSet, отображающий вашу таблицу SQL SERVER.Если я не ошибаюсь, есть возможность напрямую проанализировать ваш XML в этом объекте DataSet.

...