Привет, ребята, я новичок в 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>
Поэтому мне нужно сделать запрос, подобный первому, но SoapClient на Php создает код, подобный нижнему.
Есть ли разница? например, у первого есть gro:, а у второго - ns1:.
Также я вижу, что <soapenv> отличается от второго <SOAP_ENV>. Это чувствительно к регистру?
Я не получаю никакого ответа, но не уверен, здесь ли проблема или в остальной части кода. Но мне любопытно, есть ли какая-нибудь разница в том, о чем я упоминал ранее? Если да, то как их изменить в Php?
Заранее спасибо.






Смысл такой же.
soapenv и SOAP-ENV - это псевдонимы для фактического пространства имен http://www.w3.org/2003/05/soap-envelope/. Анализатор XML прочитает определения пространств имен и сопоставит значения пространств имен. В PHP DOM вы найдете пространство имен в свойстве $namespaceURI.
Следующие 4 примера можно читать как {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/"/><Envelope
xmlns = "http://www.w3.org/2003/05/soap-envelope/"/>Префиксы пространства имен можно переопределить на любом узле элемента. Пространства имен должны быть уникальными, поэтому они могут быть длинными и сложными. Чтобы облегчить чтение XML (и уменьшить размер) псевдонимы используются в качестве префиксов тегов.
Спасибо @ThW, это полезно