我需要发送具有这种格式的 XML:
<soapenv:Body>
<loc:amount>
<loc:user>user_name</loc:user>
<loc:charge>
<description>description_text</description>
</loc:charge>
</loc:amount>
我已经用 soapVar 生成了 XML 主体,但我无法更改“ns1”标签。 来源:
$var = '<loc:amount> <loc:user>user_name</loc:user> <loc:charge> <description>description_text</description> </loc:charge> </loc:amount>';
$params[0] = new SoapVar($var,XSD_ANYXML,'amount','http://mydomain.cm');
标题结果是这样的:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://mydomain.cm" xmlns:ns2="http://header_domain.cm">
我需要这个结果:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:loc="http://mydomain.cm" xmlns:ns2="http://header_domain.cm">
是否可以将“ns1”标签更改为“loc”??
谢谢
最佳答案
命名空间前缀名是无关紧要的;只有通过它们绑定(bind)到命名空间值,它们才具有意义。没有符合规范的 XML 处理器会关心特定的 namespace 前缀名称;你也不应该。
关于php - SOAP - PHP 可以更改 'ns1' 标记名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39471834/