【发布时间】:2010-07-21 05:34:48
【问题描述】:
我正在使用具有两个命名空间的 XML DOM 文档。例如,考虑以下文档:
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:libx="http://libx.org/xml/libx2">
<id>5</id>
<title>Put Google Book results into Addison</title>
<updated>2009-02-23T10:12:15Z</updated>
<author>
<name>LibX Team</name>
<uri>http://libx.org</uri>
<email>libx.org@gmail.com</email>
</author>
<libx:libapp>
<libx:entry xmlns:libx="http://libx.org/xml/libx2" src="6"/>
<libx:entry xmlns:libx="http://libx.org/xml/libx2" src="7"/>
</libx:libapp>
</entry>
我对命名空间有以下疑问:
1) 如果我没有像上面的示例那样在节点(id、标题、作者等)前面添加命名空间,是否会为它们分配默认命名空间:“http://www.w3.org/2005/Atom”?如果不是,它们将被分配到哪个命名空间?
2) Node 的 getNameSpaceURI 方法返回 - 节点的命名空间 URI,如果未指定,则返回 null。但是,如果未指定节点的命名空间,我如何知道它。意思是有没有办法知道默认命名空间是否分配给节点或是否分配了其他命名空间?
3) 当我将特定文档的节点(具有默认命名空间)复制到另一个文档中时,这些节点会保留原始命名空间还是会占用这些节点复制到的新文档的默认命名空间?如果后者是真的,我如何保留原来的命名空间?
最后,有人能指点我一个好的在线资料来更好地理解这些冲突的命名空间问题吗?
谢谢, 悉达多
【问题讨论】:
标签: xml dom namespaces xml-namespaces