我在一家医院工作,我需要创建我们拥有的不同产品的清单,并希望包含有关它们的所有信息。我很幸运,因为每个医疗设备均由FDA分类,并且您可以XML格式下载。问题在于文件为8gb(可在此处找到:https://accessgudid.nlm.nih.gov/download)
我不幸运的是,在医院网络中,我在允许使用的程序方面极为有限。我花了一些时间研究如何解决这个问题,但是我发现的每个解决方案都涉及使用其他软件。我真正能使用的只是访问(和VBA)。
该文件太大,无法从整体上创建数据库。您可以从网站上下载单个搜索响应,因此我尝试由制造商来进行搜索,并在3(约50-100)后达到Access的大小限制。
我想做的是能够通过许多不同的术语(设备ID,参考,产品名称)进行搜索,让它搜索数据库,如果不存在,请在xml文件中找到并创建库存数据库中的记录。问题在于,其中大多数都嵌套在XML文件的4或5层深处。 这是指向架构的链接:https://accessgudid.nlm.nih.gov/download/schema
我不太熟悉XML本身,但是总体上对SQL和数据库有不错的了解。我还受益于速度不是很大的要求,并且可以轻松地使查询花费10秒钟以上的时间来完成。
FDA也提供了一个API,但不幸的是,它们仅允许通过deviceID进行查找,但并不总是可用。手动添加记录是另一种选择,但同样,设备ID并非总是可用,并且FDA数据库包含包装上没有的信息。
有什么方法可以相对快速地找到嵌套在XML文件中的信息,而该XML文件太大而无法容纳在内存中,并且无需使用外部软件(我可以使用某些非安装软件来躲藏,但是仍然要避免如果可能的话。
编辑:此外,数据下载采用80左右的100兆XML文件,这些文件似乎并不是以任何特定方式组织的。