You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含CDATA的完整XML编码后嵌入SOAP信封主体?

如何将包含CDATA的XML嵌入SOAP信封主体

别担心,我给你一步步拆解怎么完成这个操作:

第一步:处理原XML中的CDATA结束标记

因为要把整个带CDATA的XML放到SOAP主体的CDATA块里,直接嵌套会让解析器误判CDATA的结束位置,所以必须把原XML里的]]>转义成]]]]><![CDATA[>——解析器读取时会自动把这一串合并回原来的]]>,不会破坏原内容的结构。

比如你提供的示例片段里,<JobAction><![CDATA[Add]]></JobAction>转义后就变成<JobAction><![CDATA[Add]]]]><![CDATA[></JobAction>。

第二步:将处理后的XML放入SOAP信封

把转义完成的完整XML用<![CDATA[...]]>包裹,然后放到SOAP信封的<soap:Body>标签内部即可。

完整示例代码

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<Jobs>
  <Job>
    <JobAction><![CDATA[Add]]]]><![CDATA[></JobAction>
    <ATSJobID><![CDATA[ATSJOBid_SAMPLE123]]]]><![CDATA[></ATSJobID>
    <JobTitle><![CDATA[Senior Launch Commander]]]]><![CDATA[></JobTitle>
    <JobCity><![CDATA[Jacksonville]]]]><![CDATA[></JobCity>
    <!-- 补充你剩余的Job节点内容 -->
  </Job>
</Jobs>
    ]]>
  </soap:Body>
</soap:Envelope>

小提示

  • 务必确保原XML里所有的]]>都完成转义,否则SOAP解析器会直接报错。
  • SOAP信封的命名空间要对应你的业务场景,上面用的是标准SOAP命名空间,如果有自定义要求记得替换。

内容的提问来源于stack exchange,提问作者Ben Esteban

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:54:34