刚看到帖子时就感觉是你粗心大意,看你发的代码,一是多了个空格,二是少了个>号的。 进一步写下面的代码测试,返回也是true Option ExplicitPrivate Sub Form_Load() TestXml End Sub Private Sub TestXml() Dim xmldom As New MSXML2.DOMDocument Dim bRlt As Boolean bRlt = xmldom.loadXML("<NODE_NAME>abc,xyz</NODE_NAME>") Debug.Print bRlt End Sub
进一步写下面的代码测试,返回也是true
Option ExplicitPrivate Sub Form_Load()
TestXml
End Sub
Private Sub TestXml()
Dim xmldom As New MSXML2.DOMDocument
Dim bRlt As Boolean
bRlt = xmldom.loadXML("<NODE_NAME>abc,xyz</NODE_NAME>")
Debug.Print bRlt
End Sub
谢谢提醒。忽略贴子中多一个空格和少一个符号的问题后,关于逗号的这种情况确实存在。
比如,XML是放在一个文件中的,在代码中读取这个文件,当节点的内容中没有逗号的时候是可以的,没有任何问题。
在XML文件中节点内容的基础上添加一个半角的逗号,而且代码不变的情况下,LoadXML就会返回False。
下面是XML文件中的内容:
<RESULT><NODE_NAME>kkk</NODE_NAME></RESULT>上面的文件可以成功读取。
如果在kkk基础上加一个半角逗号,或直接将kkk改为一个半角逗号时,就会失败。还有,我是用的EXCEL2007的VBA。
在VBA中使用的是Microsoft XML,3.0。
后来将Microsoft XML,3.0改为Microsoft XML,6.0后,也有这样的问题。
MSXML2.DOMDocument、MSXML2.DOMDocument26、MSXML2.DOMDocument30、MSXML2.DOMDocument40、
MSXML2.DOMDocument50、MSXML2.DOMDocument60
都试过,全部是返回 True 呢。只是我的系统是 WinXP/SP3 ,没有 Win7来测试。
如果你有Win7系统,就说下你在Win7中的结果吧。