MSXML 中的DOMDocument扩展了W 3C DOM标准,其中提供了一个Load方法,可以从其它位置加载一个XML文档,该位置可以是一个URL,支持从资源文件中Load。
以VB6编译的DLL/OCX/EXE为例演示从一个文件(DLL、EXE等)中加载一个XML。
1.在Client.exe中加入一个XML资源Clients.xml:
创建一个Client命名的VB Project,给VB6 Project 增加一个资源(RES)文件,
2.用VB6Add in 中的Resource Editor打开
点“Add custom resouce”,增加一个自定义资源,双击新加的资源号,修改Type成“XML”,ID成“CLIENTS.XML”
3.编译Client.exe
4.修改原有的objDomClient.Load语句, 将objDomClient.Load语句写为
objDomClient.Async = True ‘从资源中Load必须设为异步
objDomClient.ValidateOnParse = False
objDomClient.Load “res://client.exe/xml/client.xml”
或
objDomClient.Load “res://” & App.Path & "/client.exe/xml/client.xml”
注意,在VB调试环境下,必须先将当前包含XML资源的文件编译。