XML元素值中的命名空间?
Posted
技术标签:
【中文标题】XML元素值中的命名空间?【英文标题】:Namespace in XML element value? 【发布时间】:2016-08-03 14:03:18 【问题描述】:我最近偶然发现了这个:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe</a:Action>
<a:MessageID>uuid:21859bf9-6193-4c8a-ad50-d082e6d296ab</a:MessageID>
<a:ReplyTo>
<a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">urn:schemas-xmlsoap-org:ws:2005:04:discovery</a:To>
</s:Header>
<s:Body>
<Probe xmlns="http://schemas.xmlsoap.org/ws/2005/04/discovery">
<d:Types xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:dp0="http://www.onvif.org/ver10/network/wsdl">dp0:NetworkVideoTransmitter</d:Types>
</Probe>
</s:Body>
</s:Envelope>
让我感到困惑的是一行:-
<d:Types xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:dp0="http://www.onvif.org/ver10/network/wsdl">dp0:NetworkVideoTransmitter</d:Types>
命名空间dp0
实际上用在元素值中,这意味着什么吗?
【问题讨论】:
【参考方案1】:在 XML 级别,不,命名空间前缀在内容中没有任何意义——命名空间和命名空间前缀是纯粹的标记级结构。
此外,任何在内容中使用命名空间前缀的应用程序都必须注意只关心前缀绑定到的命名空间,而不是前缀本身。
最后,由于命名空间前缀(dp0
,这里)除了通过它与命名空间值(http://www.onvif.org/ver10/network/wsdl
)的关联之外是无关紧要的,所以命名空间前缀的数字0
后缀也无关紧要。通常,它只是一个以编程方式附加的计数器,以确保命名空间前缀是唯一的。
【讨论】:
以上是关于XML元素值中的命名空间?的主要内容,如果未能解决你的问题,请参考以下文章