以XML或SQL存储数据?
我正在开发一个Windows Phone 7.5应用程序。以XML或SQL存储数据?
我必须存储22个项目具有以下字段:
- 号(INT)。
- 名称(字符串)。
- 描述(字符串)。
名称和描述将以多种语言显示。现在
,我使用一个XML文件中像这样:
<?xml version="1.0" encoding="utf-8" ?>
<cards>
<card id ="0" name="Mad" description="xxx" ></card>
...
</cards>
我还没有与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>
通过这种结构有它,我会组织你的XML你只有每件1个属性,这是很容易找到的子元素是你正在寻找的数据。
其实还有另外一个疑问,越过此 XML best practices: attributes vs additional elements
这使用内置的XML语言支持,并且是一个很好的答案。 – samjudson
读您的文章和标签,我已了解你要存储在SQL SERVER这个数据。您可以使用不同语言的表格,并且XML必须包含与此语言相关的属性名称和描述,如name_ES,name_EN,name_FR,...(同样用于描述)。
然后,以编程方式,您可以有一个DataSet对象映射您的SQL SERVER表。如果我没有错,可以直接将XML解析为这个DataSet对象。
如果你只有少数这样的项目阅读整个XML文件到内存中没有问题,SQL并没有给你太多的优势。当你拥有庞大复杂的数据库时,SQL会自动进入,你需要能够快速灵活地查询它。如果你有很多数据(需要加载到内存中),并且你需要从数据库中有选择地提取项目,那么XML是一种痛苦(你需要解析它并实现能够检测你的查询匹配的逻辑),而SQL是专为此而设计的,闪电般快速且查询可以任意复杂(在合理的范围内)。
那么,如果它只有22,这是一个低数额,我看不需要使用数据库。 – 2011-12-02 14:23:50
同意。另外,您需要支持的语言并不重要 - XML和大量数据库支持UTF-8等字符集。我会推荐最简单的方法来实现您的应用程序。如果您需要稍后切换,则始终可以。 – jefflunt