在ColdFusion中获取XML解析错误.可以验证返回的数据包吗?

在特定的CF页面上偶尔出现错误.下面列出的违规代码.非常奇怪,因为当我重新启动CF时它就消失了.可以通过 XMLValidate检查 XML以防止这种情况发生吗?

这是某种CF错误,因为重启CF后错误消失了吗?我有一种感觉,错误会在某些时候重现.

An error occured while Parsing an XML document. The element type “Meta” must be terminated by the matching end-tag “”.

<cfhttp method="get" url="http://bs.mysite.com/webservice/rec/get.sbs?customerId=345S4BE8x&itemId=#product_id#&number=20&ruleId=#product.location_tab_accessories#">

<cfset result = xmlParse(cfhttp.FileContent)>
<cfset recs = xmlSearch(result,"/result/thsite/site/itemId")>
您可以使用XmlValidate()来针对DTD或Schema验证xml doc. XmlParse()本身验证文档,如果xml格式不正确则抛出错误.从CF7开始,它还支持验证器参数.使用cftry / cfcatch来处理异常.

您收到的错误消息表明您没有收到预期的XML文档,但是其中包含一个带有未关闭标记的HTML页面.也许这可能是一个错误页面或你被重定向到的其他一些html页面.

目标网址的DNS / IP是否有变化? Cfhttp执行DNS缓存(底层JVM),这可能会导致像您在这里遇到的奇怪效果.重新启动ColdFusion会清除缓存,再次解析URL并且您的请求将成功.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念