求教:没用样式表,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








