我在看这个问题:How to remove duplicate elements from an xml file?
它有<ns0:
吗?我以前从未见过它。
答案 0 :(得分:13)
元素名称的ns0:
前缀是对(XML)NameSpace的引用。
在这种情况下(我认为你在另一个问题中引用的XML片段),有问题的命名空间在文档的前面定义为:xmlns:ns0="http://TestIndexMap.Employees"
。
基本上,使用此行,字符串“ns0”(可以选择大多数其他字符串)与特定名称空间相关联,显然是为Employees数据定义的一种模式。
请注意, URI (“http://TestIndexMap.Employees”)与有效的在线资源不对应。 XML标准建议使用URI来 标识 命名空间;这是因为URI以分布式和分层方式进行控制和管理,防止可能的冲突,如果是这样,我们会使用普通字符串,例如“employee_data”。然而,没有期望底层URI将作为在线资源有效存在
(顺便说一句,这个特殊的URI似乎是假的,即不包括特定的域,因此尽管不太可能在某些时候这个文档可能与其他文档使用相同的字符串冲突其命名空间)。
简而言之,使用命名空间(以及其他)来防止XML文档中使用的名称可能发生冲突。例如,它们允许给定文档包含两个不同的,例如<price>
元素,或者说closed
属性,只要其中一个以前面定义的命名空间为前缀(甚至是没有显式名称空间前缀的名称前缀属于名称空间:默认名称。)