在过去的几个小时里,我一直在仔细检查事情,我无法弄清楚这件事! 最终,我有一些来自HTTPheader的xml数据:

<cfset xmlPOST = GetHTTPRequestData().content>
<cfset xmlDOM = XmlParse(xmlPOST)>
<cfset BCsetup = xmlDOM.cXML.Request.PunchOutSetupRequest.BuyerCookie>

我正在尝试获取BuyerCookie,使用它,并将其放入新的xml文档中。 如果我现在立即输出BCsetup,它将为我提供正确的值(假设为12345)。

第二个我将其作为输出放入XML中,它抛出<xml version="1.0" encoding="UTF-8"?><BuyerCookie>12345</BuyerCookie >而不是12345。

我已经尝试了从toString()到cfsavecontent的所有内容,以尝试将变量重新向下保存,并直接保留文本等。等等。

更新:这是如上所述执行的代码:

<cfset BCsetup = xmlDOM.cXML.Request.PunchOutSetupRequest.BuyerCookie> 


<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.020/cXML.dtd">
<cXML payloadID="2009-11-02T13:27:53+10:00" timestamp="2009-11-02T13:27:53+10:00">
  <Response>
    <Status code="200" text="OK"/>
    <PunchOutSetupResponse>
      <StartPage>
        <URL>https://mysite.com/testpost.cfm?BuyerCookie=<cfoutput>#BCsetup#</cfoutput></URL>
      </StartPage>
    </PunchOutSetupResponse>
  </Response>
</cXML>

===============>>#1 票数:1

<cfset BCsetup = xmlDOM.cXML.Request.PunchOutSetupRequest.BuyerCookie> 

提取整个XML元素而不是特定值。 如果您将其更改为xmlText则应该可以解决您的问题

<cfset BCsetup = xmlDOM.cXML.Request.PunchOutSetupRequest.BuyerCookie.xmlText>

建议您在设置<cfdump var="#BCSetup#" abort>后再运行它,以确保获得所需的值。

===============>>#2 票数:0

您的代码不仅获取xmldom元素的值,还添加.xmltext到末尾仅获取文本,而不获取元素。

  ask by John Egbert translate from so

未解决问题?本站智能推荐:

关注微信公众号