public void AddNS(XmlNode node) { if (node.NodeType != XmlNodeType.Element) { return; } PrefixURI prefixUri = new PrefixURI(); prefixUri.strPrefix = node.Prefix; prefixUri.strURI = node.NamespaceURI; prefixUri.strNodeName = node.Name; if (prefixUri.strNodeName != "" && prefixUri.strURI != "") { if (prefixUri.strPrefix == "") { prefixUri.strPrefix = "__pub" + Convert.ToString(nSeed); nSeed++; } this.Add(prefixUri); } foreach (XmlNode child in node.ChildNodes) { AddNS(child); } }
//去重 public void DumpRep() { int i, j; for (i = 0; i < this.Count; i++) { PrefixURI prefixUri1 = (PrefixURI)this[i]; for (j = i + 1; j < this.Count; j++) { PrefixURI prefixUri2 = (PrefixURI)this[j]; if (prefixUri1.strPrefix == prefixUri2.strPrefix && prefixUri1.strURI == prefixUri2.strURI) { j--; this.Remove(prefixUri2); } } } }
public void CreateNSOfCfg(XmlDocument domData, XmlDocument domCfg) { XmlNodeList nsitemList = domCfg.DocumentElement.SelectNodes("/root/nstable/item"); foreach (XmlNode nsitemNode in nsitemList) { XmlNode nsNode = nsitemNode.SelectSingleNode("nameSpace"); XmlNode prefixNode = nsitemNode.SelectSingleNode("prefix"); PrefixURI prefixUri = new PrefixURI(); if (prefixNode != null) { prefixUri.strPrefix = DomUtil.GetNodeText(prefixNode); } if (nsNode != null) { prefixUri.strURI = DomUtil.GetNodeText(nsNode); } if (prefixUri.strPrefix != "" && prefixUri.strURI != "") //在配置文件里不允许前缀为空 { this.Add(prefixUri); } } this.Sort(); this.DumpRep(); //if (this.Count > 0) //{ this.nsmgr = new XmlNamespaceManager(domData.NameTable); Add2nsmgr(); //} }
public void CreateNSOfCfg(XmlDocument domData, XmlDocument domCfg) { XmlNodeList nsitemList = domCfg.DocumentElement.SelectNodes ("/root/nstable/item"); foreach(XmlNode nsitemNode in nsitemList) { XmlNode nsNode = nsitemNode.SelectSingleNode ("nameSpace"); XmlNode prefixNode = nsitemNode.SelectSingleNode ("prefix"); PrefixURI prefixUri = new PrefixURI(); if (prefixNode != null) prefixUri.strPrefix = DomUtil.GetNodeText(prefixNode); if (nsNode != null) prefixUri.strURI = DomUtil.GetNodeText(nsNode); if (prefixUri.strPrefix != "" && prefixUri.strURI != "") //在配置文件里不允许前缀为空 { this.Add (prefixUri); } } this.Sort (); this.DumpRep (); //if (this.Count > 0) //{ this.nsmgr = new XmlNamespaceManager (domData.NameTable ); Add2nsmgr(); //} }
public void AddNS(XmlNode node) { if (node.NodeType != XmlNodeType.Element ) return; PrefixURI prefixUri= new PrefixURI (); prefixUri.strPrefix = node.Prefix ; prefixUri.strURI = node.NamespaceURI ; prefixUri.strNodeName = node.Name ; if (prefixUri.strNodeName != "" && prefixUri.strURI != "") { if (prefixUri.strPrefix == "") { prefixUri.strPrefix = "__pub" + Convert.ToString (nSeed); nSeed++; } this.Add (prefixUri); } foreach(XmlNode child in node.ChildNodes ) { AddNS(child); } }
//隐式执行,可能直接通过DpKey的对象实例来访问 //obj: 比较的对象 //0表示相等,其它表示不等 public int CompareTo(object obj) { PrefixURI prefixURI = (PrefixURI)obj; return(String.Compare(this.strPrefix, prefixURI.strPrefix)); }