php - SOAP - PHP 可以更改 'ns1' 标记名称吗?

标签 php xml soap

我需要发送具有这种格式的 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/

相关文章:

PHP - 开始准备语句,但它们看起来很笨重

java - 未定义名为 'PlaceDAO' 的 bean

xml - 使用 XSLT 检查 XML 节点名称是否包含字母

java - 在没有 wsimport 的情况下使用 Java 中的通用 xml Soap Web 服务

Java 通用 SOAP 客户端库

php - 包含变量的搜索查询

php - mysql LIKE 双百分比

php - 自定义实体与扩展实体一对一关联

java - JAXB 按需解码

java - 在 Java 中为 ws-security UsernameToken 实现密码摘要