我有一个VB.Net程序,该程序使用XML文档作为控制规则。程序加载时,它作为公共字符串存储在代码本身中:
Public CMIstring As String
CMIstring = "<?xml version='1.0' ?>
<cmi>
<_CMItypes>
<_CMItype>CMIBlank</_CMItype>
.... lots more suff
</cmi>
xDoc = New MSXML2.DOMDocument60
If xDoc.loadXML(CMIstring) Then
do other housekeeping here... which it does
end if
它可以在一段时间(小时/天)内正常运行,没有问题。但是,定期在以下行中显示错误“完成此操作所需的数据尚不可用”:
nList = xDoc.getElementsByTagName(sAry(i - 1)) 'ERROR HERE
sAry似乎具有正确的值,但是每次它碰到那条线时我都会记录这些值,因此到目前为止,我确定并没有任何知识。我倾向于认为字符串数组sAry中有些东西,但是如果不正确,似乎会抛出一个奇怪的错误。
有人知道为什么会在静态xml文档中有效触发此错误吗?我应该寻找什么?
编辑9/15/19: 错误相同,位置不同。
xDoc = New MSXML2.DOMDocument60
If xDoc.loadXML(CMIstring) Then
mList = xDoc.getElementsByTagName("cmi") 'Error on this line
那么,如果xDoc已加载,怎么还不可用?有没有可以检查的属性来确保xDoc不仅被加载而且“可用”?