首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在XML文档中存储html表单内容的最佳实践

在XML文档中存储html表单内容的最佳实践
EN

Stack Overflow用户
提问于 2009-11-03 17:25:32
回答 3查看 1.5K关注 0票数 1

我有两个web表单,由用户填写。它们包含不同类型的字段:文本框、单选按钮、复选框(单个或分组)。用户提交的所有信息都存储在数据库中的XML字段中。

我的问题是: XML文件.中的字符串信息的良好实践是什么?

现在我确实喜欢这样:

例如,文本框:将txtName I放入<Name>John</Name>标记中。

例如,Radio :rdbSex I put I <Sex>Male</Sex>

复选框将组放入一个标记中,并为每个复选框项指定truefalse,例如:

代码语言:javascript
复制
<favoriteMovies>
    <StarWars>True</StarWars>
    <KillBill>False</KillBill>
    ....
</favoriteMovies>

电影存储在一个表中的数据库中,每个表都有一个ID。我是否也应该将其存储在XML文件中?如下所示:

代码语言:javascript
复制
<favoriteMovies>
    <StarWars id="4">True</StarWars>
    <KillBill id="6">False</KillBill>
    ....
</favoriteMovies>

或者可能只存储选定的选项(在本例中使用or ):

代码语言:javascript
复制
<favoriteMovies>
    <StarWars id="4 />
    ....
</favoriteMovies>

同样的问题是下拉控件。它们是从数据库中的一个表中填充的,每个项都有一个id。我应该只存储用户选择的id,或者两者都存储: id和选择的名称。所以最好这样储存:

代码语言:javascript
复制
<Address>
    <City>2</City>
</Address>

或者像这样:

代码语言:javascript
复制
<Address>
    <City id="2" />
</Address>

或者像这样

代码语言:javascript
复制
<Address>
    <City>New York</City>
</Address>

文档由用户提交,但可以重新打开和编辑,网站上的所有控件都应该重新填充。因此,我需要城市的ID来在DropDown控件中选择适当的值,但这会降低XML文档的可读性。

是否有任何建议或文档指定在XML文档中存储web窗体元素的规则?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-03 17:40:33

我会走这边:

1)将要放入XML中的内容视为对象

2)为人类找到最能描述对象的属性,将其放在标签之间

3)装饰对象的所有其他属性,将它们作为标记属性

我将以Rubens为例进行修改:

代码语言:javascript
复制
<favoriteMovies>
    <Movie id="4">StarWars (just if required)</Movie>
    ....
</favoriteMovies>

我之所以移除这个名字,是因为这是最适合描述这部电影(对人类而言)的地方,而且如果你有特殊的角色,你就可以使用<![CDATA[ ]]> .

希望这能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2009-11-03 17:32:59

我认为您应该采取务实的方式:为原子值使用属性可以导致更小的XML文档。我也喜欢这样:

代码语言:javascript
复制
<favoriteMovies><!-- all this are favorite, so "true" isnt required -->
    <Movie id="4" name="StarWars (just if required)" />
    ....
</favoriteMovies>

在这个问题上

代码语言:javascript
复制
<favoriteMovies>
    <StarWars id="4">True</StarWars>
    <KillBill id="6">False</KillBill>
    ....
</favoriteMovies>

注意,我删除了KillBill,因为它被标记为“不喜欢”。

底线:保持XML文档的小,这样就不会有问题了。

票数 1
EN

Stack Overflow用户

发布于 2009-11-03 17:48:33

我不会将XML文档存储在数据库中(特别是因为它们似乎是传输类型的对象)。为什么不将数据以关系方式存储在数据库中呢?表单有利于捕获数据。XML有利于数据的传输,而数据库表则有利于数据的存储。由于您已经将电影存储在数据库中,所以应该很容易将其余的数据显式地存储在数据库中,而不是通过XML隐式存储。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1668880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档