SOAP / XML中的命名空间范围
时间:2020-03-06 14:47:01 来源:igfitidea点击:
这是有效的SOAP / XML吗?
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateRoute xmlns="urn:Routs">
<aRoute>
<name>ToTheTop</name>
<grade xsi:type="FrencGrade">
<gradeNumber>7</gradeNumber>
<gradeModifier>a</gradeModifier>
</grade>
</aRoute>
</CreateRoute>
</soap:Body>
</soap:Envelope>
如果是这样,则FrenchGrade属于哪个名称空间?它在urn:Routs命名空间中吗?
解决方案
对,那是正确的。通过做:
<CreateRoute xmlns="urn:Routs">
...我们正在将默认名称空间更改为urn:Routs。这意味着所有未加前缀的子元素将存在于此新名称空间中。
当然,除非:
- 我们可以使用不同的前缀显式添加新元素
- 我们创建一个新的子元素并更改其默认名称空间,在这种情况下,其子元素将位于该新名称空间中

