You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA从MSXML2.IXMLDOMNodeList取第2个Item报错如何解决?

问题根因及解决方法
  • 索引规则错误:MSXML2.IXMLDOMNodeList采用零基索引规则,第一个节点对应索引0,第二个节点对应索引1。你调用Item(2)是读取第三个节点,当前节点列表只有2个元素,超出索引范围自然返回空对象,触发对象未设置报错。
  • 赋值语法错误:给IXMLDOMNode类型的对象变量赋值时,必须加Set关键字,直接赋值会触发语法错误。如果直接提取节点文本内容(字符串类型),则不需要加Set。

正确代码示例

情况1:先获取第二个节点对象,再读取文本

Set xNodes = xDoc.getElementsByTagName("series_id")
' 先判断节点数量是否符合预期,避免索引越界
If xNodes.Length >= 2 Then
    Set rsObj = xNodes.Item(1)
    rsStr = rsObj.Text
End If

情况2:直接提取第二个节点的文本内容

Set xNodes = xDoc.getElementsByTagName("series_id")
If xNodes.Length >= 2 Then
    rsStr = xNodes.Item(1).Text
End If

报错截图

报错截图


内容的提问来源于stack exchange,提问作者Richard Strott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:15:03