【问题标题】:VB.NET: Properly manage data from XMLVB.NET:正确管理来自 XML 的数据
【发布时间】:2010-11-03 20:22:40
【问题描述】:

大家早上好。

我对 Visual Basic 领域相对较新(虽然是传统的基于 Web 的脚本开发人员),我来问你一个问题。我正在从 XML 文件中读取数据。这个本地 XML 文件将被另一个应用程序更新,我需要定期重新评估 XML 文件,并且只将新数据导入列表框。此外,我希望能够单击列表框中的特定项目,并显示有关该特定 XML 条目的其他值。

所以,我想这是一个多部分的问题。仅将新数据导入程序的正确方法是什么,存储数据的正确方法是什么,以及如何将列表框中的值与存储在其他地方的数据相关联?

我考虑过多维数组,但有人告诉我将字符串转换为 char 数组然后再返回字符串是一种糟糕的数据管理方式,但从未提供过替代方法。

我会对要研究的主题列表和/或此问题的答案示例感到满意。

【问题讨论】:

    标签: vb.net data-structures linq-to-xml multidimensional-array data-management


    【解决方案1】:

    我可能会使用实现INotifyPropertyChangedBindingList 的类。然后你只需要从列表中监听 ListChanged 事件并更新列表框。

    如果您想了解更多关于绑定类和接口的信息,我有一篇博客文章:Data Binding Classes, Interfaces, and Attributes in Windows Forms 2.0。现在可能有点过时了,自从我在 2007 年 3 月写它以来,我还没有审查过它。

    【讨论】:

      【解决方案2】:

      首先看一下 XmlDocument 和 XmlReader 类。

      XmlDocument 有助于将文档加载到内存中,并允许您以任何您希望的方式查看文档,具体取决于文件的大小,可能会影响拉入文件需要多长时间

      XmlReader 允许动态访问,并为您提供非常类似于 DataReader 的访问。 IE。跟踪您在数据集中的位置,并且在检查后不保留任何数据。

      为了跟踪更新,这取决于 XML 的存储位置。 如果它在文件中,FileSystemWatcher 可能有助于确定您何时需要更新......

      【讨论】:

      • 当我说无论如何你希望我的意思是使用 API 和 XPath 时
      • 是的,我一直在分别使用 XmlReader 和 XmlDocument。我的困难在于保留这些数据,并将放入列表框中的内容与值联系起来。我在哪里存储数据。创建课程?多维数组?输出一个新的 XML 文件,并从中读取/写入?
      • 对不起,伙计,那有点误读了这个问题。您可能想确定需要从 XML 文档中取出什么并将它们放入一些类/模型中。只要您对文档的“查询”(如果需要,甚至可以使用 Linq to XML 执行此操作)非常健壮,您就应该能够一次又一次地获取所需的信息。
      • 如果 Xml 文档很大,您可能希望将其切碎,甚至使用 Xslt 对其进行转换,以获得您需要的信息。不过,在某些时候,您总是需要阅读信息。
      猜你喜欢
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 2014-03-21
      • 2018-08-27
      • 2022-06-10
      • 1970-01-01
      相关资源
      最近更新 更多