在搜索 Web 时,我遇到了许多在 XML 文件中使用 namespace 的示例。他们大多有这种形式:
<d:student xmlns:d='http://www.develop.com/student'>
<d:id>3235329</d:id>
<d:name>Jeff Smith</d:name>
<d:language>C#</d:language>
<d:rating>9.5</d:rating>
</d:student>
(这是取自 https://msdn.microsoft.com/en-us/magazine/cc302166.aspx 的示例)
这一行:
<d:student xmlns:d='http://www.develop.com/student'>
困扰我,几乎是因为每个例子都是这样的。它可以有一种形式吗
<student xmlns:d='http://www.develop.com/student'>
所以在这里我声明了由相同 URI 标识的相同命名空间,但我不希望声明具有命名空间的节点。这是正确的吗?长话短说:是
just xmlns:d='http://www.develop.com/student'
d:
的有效声明命名空间?
最佳答案
xmlns:d='http://www.develop.com/student'
将声明 d
该元素及其所有后代的命名空间。
如果缺少 d:
,它不会使元素来自该命名空间在标签名称上。那仍将使用默认命名空间。
IE。
<foo xmlns="http://example.com/1">
<bar xmlns:x="http://example.com/2">
<x:baz />
</bar>
</foo>
foo
来自 /1
. bar
来自 /1
. baz
来自 /2
.
关于xml - 使用 XML 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065186/