大家好我是xml的新手,如果上面两个代码之间有任何区别,我很好奇:
<soapenv:Envelope xmlns......>
<gro:GetGeography>
<gro:request>
<gro:ClientIPAddress>?</gro:ClientIPAddress>
</gro:request>
</gro:GetGeography>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns......>
<ns1:GetGeography>
<ns1:request>
<ns1:ClientIPAddress>?</ns1:ClientIPAddress>
</ns1:request>
</ns1:GetGeography>
</SOAP-ENV:Envelope>
所以我必须像第一个那样提出请求,但Php上的SoapClient正在创建类似底层的代码。
有什么区别吗?例如,第一个有gro:
,第二个有ns1:
。
此外,我可以看到<soapenv>
与第二<SOAP_ENV>
不同,是否区分大小写?
我没有得到任何回复,但我不确定问题是在这里还是在其余的代码上。但我很好奇,我之前提到的这些有什么不同吗?如果是,在Php中改变它们的方式是什么?
提前致谢。
答案 0 :(得分:2)
意思是一样的。
void OnDelete(object sender, EventArgs e)
{
_connection.DeleteAsync(SelectedSaveData);
_saveData.Remove(SelectedSaveData);
}
和soapenv
是实际名称空间SOAP-ENV
的别名。 XML解析器将读取命名空间定义并匹配命名空间值。在PHP DOM中,您将在http://www.w3.org/2003/05/soap-envelope/
属性中找到命名空间。
以下4个示例均可读作$namespaceURI
:
{http://www.w3.org/2003/05/soap-envelope/}Envelope
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"/>
<soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/"/>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope/"/>
可以在任何元素节点上重新定义名称空间前缀。命名空间需要是唯一的,因此它们往往是冗长而复杂的。为了使XML更易于阅读(和更小),别名被用作标记前缀。