我收到了一份令我头疼的XML文档。
这里看起来像这样:
<ns1:ObjectInfo xmlns:ns1="urn:package:ObjectInfo" xmlns="package:ObjectInfo">
...
<Object Id="12345">
<ns1:ObjectInfo xmlns="urn:package:ObjectInfo">
</ns1:ObjectInfo>
</Object>
...
</ns1:ObjectInfo>
我不是XML专家,但据我所知,这个“xmlns =”包:ObjectInfo“定义了默认命名空间,对吗?
首先明确定义命名空间(ns1:ObjectInfo xmlns:ns1 =“urn:package:ObjectInfo”)并且还定义默认命名空间(xmlns =“package:ObjectInfo”)是否真的很常见?
我认为可能导致问题的原因是默认命名空间有一个拼写错误(是:xmlns =“package:ObjectInfo”,但应该是:“ urn :package:ObjectInfo“) - 这让我想到:Object中的ObjectInfo元素属于/引用哪个命名空间?
答案 0 :(得分:1)
这让我想到:Object中的ObjectInfo元素属于/引用哪个命名空间?
ObjectInfo当然属于命名空间ns1。具有“无名称空间前缀”的Object元素中ObjectInfo元素的所有子元素都应属于默认名称空间xmlns =“urn:package:ObjectInfo”
我不确定是否有拼写错误。但是,Object元素属于顶级默认命名空间xmlns =“package:ObjectInfo”