求教:没用样式表,xmltocursor老是把数值1判定为逻辑真呢?
提交判定原来取的服务器时间,老是有人改时间交报告。现改成取授时中心时间,问题来了,如果时间yyyy-mm-dd hh:mm:ss中有值为1时,把xml转cursor时老是判定为逻辑真,xmltocursor的各参数都看了也用了,还是没用,当然可以写判定类型来达到效果,就是不能理解问题出在哪儿,检查了返回的内容,返回数据也没有用schema样式表,不能理解,虽然VFP把大于0的值判定为真,为什么此处仅把1判为真,2018等等又判为数值,求问题所在或直接的处理方法,谢谢。代码如下:
程序代码:
Procedure GetTimeByXML Set Date YMD Set Century On Set Hours To 24 Set Mark To '-' Declare Sleep In Kernel32.Dll Integer Local xmlDoc,xmlRes,nReCount,lFlag,cTime,lDateTime,nDelay xmlDoc=Createobject('Microsoft.XMLDOM') XML.Async=.F. xmlRes=xmlDoc.Load('http://www.time.') If xmlRes nDelay=0 Do While xmlDoc.readystate#4&&waiting for Ready =Sleep(200) nDelay=nDelay+1 If nDelay=26&&Delay for 5s is allowed Return Ctod('') Endif ENDDO IF !EMPTY(xmldoc.xml) nReCount=Xmltocursor(xmlDoc.XML,'xmlcursor',0) ELSE RETURN CTOT('') endif If nReCount>0 lFlag=.T. cTime=Str(xmlcursor.Year,4)+'-'+; STR(xmlcursor.Month,2)+'-'+; STR(xmlcursor.Day,2)+' '+; STR(xmlcursor.Hour,2)+':'+; STR(xmlcursor.Minite,2)+':'+; STR(xmlcursor.Second,2) lDate=Ctot(cTime) Endif Endif If !lFlag Return Ctod('') Endif Return ldate Endproc