如何在Postman的JSON格式POST请求中传入XML/HTML格式元素?
问题核心
你返回空数据的原因很明确:你传入的是转义后的XML字符串,但后端的过滤逻辑input instanceof Element是判断对象是否为DOM Element接口的实例——字符串显然不符合这个判断,所以所有条目都被过滤掉了,最终返回空数据。
可行的请求构造方案
要让请求被正确处理,你需要让后端能将传入内容识别为Element实例,以下两种方式可以尝试:
方案1:确认后端支持自动解析XML字符串
如果后端配置了将JSON中的XML字符串自动转换为Element对象的逻辑,你可以保留当前的JSON结构,但需要注意两点:
- Postman中请求的
Content-Type必须设置为application/json(选择raw-JSON格式时会自动设置,可手动检查确认) - 确认后端是否存在对应的解析逻辑(比如使用DOM解析器将XML字符串转换为Element实例)
如果后端没有配置该自动解析逻辑,此方案不生效,需使用方案2。
方案2:传入Element的JSON序列化结构
如果后端期望接收的是Element对象的JSON表示而非字符串,你需要将XML结构转换为对应的DOM风格JSON。例如,针对<root><item>1</item></root>,可转换为如下JSON结构:
{ "doXmlCleanRequest": { "mapping": "cdi-legalParty-clean", "data": { "any": [ { "tagName": "root", "childNodes": [ { "tagName": "item", "textContent": "1" } ] }, { "tagName": "root", "childNodes": [ { "tagName": "item", "textContent": "" } ] }, { "tagName": "root", "childNodes": [ { "tagName": "item", "textContent": "2" } ] }, { "tagName": "root", "childNodes": [ { "tagName": "item", "textContent": "2" } ] }, { "tagName": "root", "childNodes": [ { "tagName": "item", "textContent": "true" } ] } ] } } }
此方案要求后端具备将该JSON结构反序列化为Element实例的逻辑。
额外提示
如果以上方案均不生效,需查阅后端API文档明确data.any字段的具体要求:
- 该字段是接收XML字符串还是Element对象的JSON表示?
- 是否存在命名空间、属性等额外格式要求?
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

