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
。这意味着所有未加前缀的子元素将存在于此新名称空间中。
当然,除非:
- 我们可以使用不同的前缀显式添加新元素
- 我们创建一个新的子元素并更改其默认名称空间,在这种情况下,其子元素将位于该新名称空间中