2

ここ何時間も物事を調べてきましたが、これがわかりません! 最終的に、HTTPheader から入ってくる xml データがいくつかあります。

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

BuyerCookie を取得して使用し、新しい xml ドキュメントに配置しようとしています。ここで BCsetup を cfoutput すると、正しい値 (12345 としましょう) が得られます。

2 番目に出力として 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>
4

2 に答える 2

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

特定の値ではなく、XML 要素全体を取り込みます。それを変更して引き込むとxmlText、問題が解決するはずです

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

設定後に実行して、必要な値が得られていることを確認することをお勧めし<cfdump var="#BCSetup#" abort>ます。

于 2013-04-17T14:32:00.967 に答える
0

あなたのコードは、その値だけでなくxmldom要素を取得しています.xmltextを最後に追加して、要素ではなくテキストのみを取得します。

于 2013-04-17T08:05:38.993 に答える