C# 将实际/建议的文件夹和文件结构映射到xml并最终映射到数据库

C# 将实际/建议的文件夹和文件结构映射到xml并最终映射到数据库,c#,xml,sql-server-2008,directory-structure,C#,Xml,Sql Server 2008,Directory Structure,对于这个问题,技术集是C4.0和SQLServer2008。此功能将是Visual Studio扩展的一部分 我们需要实施一种策略,允许用户定义特定文件夹/文件结构的外观。将提供一个UI,允许用户在这些文件夹中添加与类型无关的文件夹或文件。然后,我们需要将用户定义的模式存储在数据结构中,并最终根据后面提供的实际文件夹结构对其进行验证。因此,一个用户进来,使用我们的UI来定义文件夹结构的外观。我们将他/她的定义存储在数据库的某个地方。稍后,用户可以执行这些操作 验证 用户向我们指出网络共享或根据此

对于这个问题,技术集是C4.0和SQLServer2008。此功能将是Visual Studio扩展的一部分

我们需要实施一种策略,允许用户定义特定文件夹/文件结构的外观。将提供一个UI,允许用户在这些文件夹中添加与类型无关的文件夹或文件。然后,我们需要将用户定义的模式存储在数据结构中,并最终根据后面提供的实际文件夹结构对其进行验证。因此,一个用户进来,使用我们的UI来定义文件夹结构的外观。我们将他/她的定义存储在数据库的某个地方。稍后,用户可以执行这些操作

验证 用户向我们指出网络共享或根据此定义结构设置的任何位置。然后,我们根据实际位置验证定义的模式

就这样吧 用户将我们指向一个文件夹,其中保存了在其模式中定义的所有文件。然后,我们解析所有文件,并根据用户在不同文件夹中的模式定义重新构造它们

每个节点的操作 在已定义的模式中,用户还可以将一个操作与每个节点关联起来—定义为一组文件。因此,用户可以将5个文件分组到一个文件夹下,比如说a,并关联将其移动到X位置的操作。理解如何从用户定义此模式的同一UI触发这些操作并不重要。关键概念是能够逻辑地将文件分组在一起,并定义对它们的操作

我可以想出几种不同的方法来解决这个问题。显然,XML是首选。然而,将Xml存储在DB中的问题是,在DB列中正确查询Xml会变得很烦人。更不用说由于所有标记名等而增加了XML文档的大小


这是一个有点开放性的问题,我想向SOF的天才们展示这一点,以获得一些好的想法

为什么xml需要存储在数据库中?只需给出id的文件名,并将id用作数据库中的外键作为参考。该系统将支持数千个客户端,每个客户端都有自己的模式集。一旦定义了一个模式,用户就可以继续返回该模式,并根据该模式处理多个输入集。