以XML或SQL存储数据?

时间:2011-12-02 14:21:10

标签: sql-server xml windows-phone-7 datasource

我正在开发Windows Phone 7.5应用程序。

我必须存储以下字段的22个项目:

  1. Number(int)。
  2. 姓名(字符串)。
  3. 描述(字符串)。
  4. 名称和说明将使用各种语言。

    现在,我正在使用这样的XML文件:

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

    我没有使用过很多XML,我不确定哪种方法最好。

    有什么建议吗?你推荐我什么?我需要将每个名称和描述存储在不同的语言中。

3 个答案:

答案 0 :(得分:3)

我会按如下方式构建你的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 best practices: attributes vs additional elements

答案 1 :(得分:0)

阅读你的帖子和标签,我想你不想将这些数据存储在SQL SERVER中。您可以拥有一个包含不同语言的表,并且XML必须包含根据这些语言的属性名称和描述,如name_ES,name_EN,name_FR,...(对于描述也是如此)。

然后,以编程方式,您可以使用DataSet对象来管理SQL SERVER表。如果我没错,可以直接将XML解析为此DataSet对象。

答案 2 :(得分:0)

如果您只有少量这样的项目将整个XML文件读入内存是没有问题的,那么SQL并没有给您带来太多好处。当您拥有大型复杂的数据库并且需要能够快速灵活地查询时,SQL就会自成一体。如果你有大量数据(要加载到内存中很多)并且需要从数据库中有选择地提取项目,那么XML就很麻烦(你需要解析它并实现将检测查询匹配的逻辑),而SQL专为此而设计,快速闪电,查询可以任意复杂(在合理范围内)。