以XML或SQL存储数据?

问题描述:

我正在开发一个Windows Phone 7.5应用程序。以XML或SQL存储数据?

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

  1. 号(INT)。
  2. 名称(字符串)。
  3. 描述(字符串)。

名称和描述将以多种语言显示。现在

,我使用一个XML文件中像这样:

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

我还没有与XML了很多工作,我不知道这是做的最好的方式。

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

+0

那么,如果它只有22,这是一个低数额,我看不需要使用数据库。 – 2011-12-02 14:23:50

+1

同意。另外,您需要支持的语言并不重要 - XML和大量数据库支持UTF-8等字符集。我会推荐最简单的方法来实现您的应用程序。如果您需要稍后切换,则始终可以。 – jefflunt

如下

<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> 

通过这种结构有它,我会组织你的XML你只有每件1个属性,这是很容易找到的子元素是你正在寻找的数据。

其实还有另外一个疑问,越过此 XML best practices: attributes vs additional elements

+0

这使用内置的XML语言支持,并且是一个很好的答案。 – samjudson

读您的文章和标签,我已了解你要存储在SQL SERVER这个数据。您可以使用不同语言的表格,并且XML必须包含与此语言相关的属性名称和描述,如name_ES,name_EN,name_FR,...(同样用于描述)。

然后,以编程方式,您可以有一个DataSet对象映射您的SQL SERVER表。如果我没有错,可以直接将XML解析为这个DataSet对象。

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