如果 ABC 三级的 NameSpaceURI 分别是 XYY , 那么, 生成的 ABC 的 NameSpaceURI分别是 AB空, C 不会生成 NameSpaceURI , 因为, C和其父项具有相同的 NameSpaceURI .
prototype.js 里面就大量使用这种方式,虽然这种方式更直观地像一棵树,但只要节点稍多一些,眼睛就忙于寻找这些节点的关系,命名空间的做法是横向地描述这种关系树,层次关系直接表现在字面上,两种方式效果一致,但书写风格却各有特点。
var comment = {
list : function(){/*code...*/},
add : {
post : function(){/*code...*/},
check : function(){/*code...*/}
}
}
var exclDef = excl.SelectSingleNode(@"ns:worksheet/ns:sheetData",
excl.GetNameSpaceManager("ns"));
public static XmlNamespaceManager GetNameSpaceManager(this XmlDocument
xml, string NameSpace)
{
XmlNamespaceManager nsmgr = new
XmlNamespaceManager(xml.NameTable);
nsmgr.AddNamespace(NameSpace,
xml.DocumentElement.NamespaceURI); return nsmgr;
}
function NameSpace(){
}
comment.add = new NameSpace();
comment.add.post = function(){/*code...*/}
comment.add.check = function(){}
var r = excl.CreateAttribute("r");
这是一个构造函数,但却不做任何事情,再来下面和评论有关的代码:
var si = e.OwnerDocument.CreateElement("si",
e.NamespaceURI); e.AppendChild(si);
另外, 创新 属性时, 不要指定 NameSpaceURI , 即 生成的 Xml
就没有特定的 NameSpaceURI .
再扩展一个方法:
本文由宝马娱乐在线发布于网络频道,转载请注明出处:JavaScript 编程引入命名空间的方法与代码