如何在Postman Mock Server中提取XML请求体数据至响应?
Postman Mock Server提取XML请求体数据的解决方案
- 先确认请求头配置:必须给请求设置
Content-Type: application/xml(或text/xml),Mock Server只有识别到这个头,才会把请求体当作XML解析,否则会按纯文本处理,无法用路径提取值。 - 调整提取语法:XML请求体的提取要用XPath表达式,而非JSON路径语法。之前用的
{{$body 'Root.Record.LeaseNumber'}}是JSON路径的写法,对XML不生效,换成对应的XPath写法即可。
举个实际例子:
若请求XML结构如下:
响应模板中提取<Root> <Record> <LeaseNumber>LSE-12345</LeaseNumber> </Record> </Root>LeaseNumber的值,应写成:<Response> <Result>{{$body '//Root/Record/LeaseNumber/text()'}}</Result> </Response> - 处理命名空间问题:如果你的XML带有命名空间,比如
<ns:Root xmlns:ns="http://example.com">,需要在XPath里指定命名空间前缀,写法为{{$body '//ns:Root/ns:Record/ns:LeaseNumber/text()' ns=http://example.com}} - 测试验证:发送请求时务必携带正确的XML请求体和
Content-Type头,否则Mock Server无法解析XML结构,提取逻辑会失效。
内容的提问来源于stack exchange,提问作者Brendan Murphy
相关产品推荐
相关产品推荐

