以活动记录模式的方式处理xml数据:任何方式
本文关键字:任何方 何方 数据 xml 记录 活动 模式 处理 方式 | 更新日期: 2023-09-27 18:08:42
我想以activerecord的方式处理xml数据,所以每个xml结构都有一个类(显然我需要一个xsd),并且可以像castle activerecord那样做Users.FindAll()操作。
问题是,很明显,那些是xml文件,而不是关系数据库。
是否有任何库可以实现这一点?这是微软的库,而不是第三方的库,显然是更好的。
为了理解我为什么想要实现这一点,我将解释我正在构建的程序,以便您最终可以给我一些建议,如果另一种方法更好:
程序的"输出"将是类似于MS-Word(或pdf)长的文档,其中将包含有关公司如何按照当地法律处理客户隐私的信息。
我将有,所以,一个"全局"xml文件,其中包含的东西像工作(在法律中定义,但法律可以改变,所以应该由用户编辑),每个员工可以在它的公司(也会有其他数据,这是一个通用的例子)。
然后,我将为用户想要使用此程序的每个公司创建一个xml文件。这个xml文件将包含一个员工列表,其中每个员工都有对Job的引用(从全局xml文件中选择)。
显然程序将有更多的数据,但这解释了它是如何工作的。
我仍然不确定我是否必须使用关系数据库,如果我使用关系数据库,真正让我害怕的是,如果用户在新计算机上安装程序,我将在允许用户导出/导入数据时遇到"麻烦"。另外,我想避免强迫用户在他的计算机上安装数据库(好吧,一个类似sqlite的数据库可以,因为它是在一个文件上)。
有什么建议吗?感谢大家
虽然Linq-to-XML非常容易使用,但是在以RDBMS的方式读取和存储相关数据时,还有很多事情要做。RDBMS都是关于引用完整性、ACID事务、并发用户、性能增强的,这是我现在想到的一些元素。考虑到这个艰巨的任务,我认为自己完成这个任务比部署数据库文件更可怕。
有一些基于xml的数据库,但我不知道它们有多成熟和用户友好。我甚至记得读过基于纯文本文件的数据库系统。
我会选择铺设好的道路,并使用关系数据库,可能是本地数据库,正如你已经建议的那样。大量的支持和工具可用
如何使用Linq到Xml?