public virtual bool ReadToNextSibling(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, nameof(localName)); } if (namespaceURI == null) { throw new ArgumentNullException(nameof(namespaceURI)); } localName = this.NameTable.Add(localName); namespaceURI = this.NameTable.Add(namespaceURI); XmlNodeType nodeType; do { this.SkipSubtree(); nodeType = this.NodeType; if (nodeType == XmlNodeType.Element && Ref.Equal(localName, this.LocalName) && Ref.Equal(namespaceURI, this.NamespaceURI)) { return(true); } }while (nodeType != XmlNodeType.EndElement && !this.EOF); return(false); }
// Reads to the next sibling of the current element with the given LocalName and NamespaceURI. public virtual bool ReadToNextSibling(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, "localName"); } if (namespaceURI == null) { throw new ArgumentNullException("namespaceURI"); } // atomize local name and namespace localName = NameTable.Add(localName); namespaceURI = NameTable.Add(namespaceURI); // find the next sibling XmlNodeType nt; do { SkipSubtree(); nt = NodeType; if (nt == XmlNodeType.Element && Ref.Equal(localName, LocalName) && Ref.Equal(namespaceURI, NamespaceURI)) { return(true); } } while (nt != XmlNodeType.EndElement && !EOF); return(false); }
public virtual bool ReadToDescendant(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, nameof(localName)); } if (namespaceURI == null) { throw new ArgumentNullException(nameof(namespaceURI)); } int depth = this.Depth; if (this.NodeType != XmlNodeType.Element) { if (this.ReadState != ReadState.Initial) { return(false); } --depth; } else if (this.IsEmptyElement) { return(false); } localName = this.NameTable.Add(localName); namespaceURI = this.NameTable.Add(namespaceURI); while (this.Read() && this.Depth > depth) { if (this.NodeType == XmlNodeType.Element && Ref.Equal(localName, this.LocalName) && Ref.Equal(namespaceURI, this.NamespaceURI)) { return(true); } } return(false); }
// Reads to the following element with the given LocalName and NamespaceURI. public virtual bool ReadToFollowing(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, "localName"); } if (namespaceURI == null) { throw new ArgumentNullException("namespaceURI"); } // atomize local name and namespace localName = NameTable.Add(localName); namespaceURI = NameTable.Add(namespaceURI); // find following element with that name while (Read()) { if (NodeType == XmlNodeType.Element && Ref.Equal(localName, LocalName) && Ref.Equal(namespaceURI, NamespaceURI)) { return(true); } } return(false); }
// Reads to the first descendant of the current element with the given LocalName and NamespaceURI. public virtual bool ReadToDescendant(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, "localName"); } if (namespaceURI == null) { throw new ArgumentNullException("namespaceURI"); } // save the element or root depth int parentDepth = Depth; if (NodeType != XmlNodeType.Element) { // adjust the depth if we are on root node if (ReadState == ReadState.Initial) { Debug.Assert(parentDepth == 0); parentDepth--; } else { return(false); } } else if (IsEmptyElement) { return(false); } // atomize local name and namespace localName = NameTable.Add(localName); namespaceURI = NameTable.Add(namespaceURI); // find the descendant while (Read() && Depth > parentDepth) { if (NodeType == XmlNodeType.Element && Ref.Equal(localName, LocalName) && Ref.Equal(namespaceURI, NamespaceURI)) { return(true); } } Debug.Assert(NodeType == XmlNodeType.EndElement || (parentDepth == -1 && ReadState == ReadState.EndOfFile)); return(false); }
public virtual bool ReadToFollowing(string name) { if (name == null || name.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(name, nameof(name)); } name = this.NameTable.Add(name); while (this.Read()) { if (this.NodeType == XmlNodeType.Element && Ref.Equal(name, this.Name)) { return(true); } } return(false); }
public virtual bool ReadToFollowing(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, nameof(localName)); } if (namespaceURI == null) { throw new ArgumentNullException(nameof(namespaceURI)); } localName = this.NameTable.Add(localName); namespaceURI = this.NameTable.Add(namespaceURI); while (this.Read()) { if (this.NodeType == XmlNodeType.Element && Ref.Equal(localName, this.LocalName) && Ref.Equal(namespaceURI, this.NamespaceURI)) { return(true); } } return(false); }
// Reads to the following element with the given Name. public virtual bool ReadToFollowing(string name) { if (name == null || name.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(name, "name"); } // atomize name name = NameTable.Add(name); // find following element with that name while (Read()) { if (NodeType == XmlNodeType.Element && Ref.Equal(name, Name)) { return(true); } } return(false); }
internal void CheckElement(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, nameof(localName)); } if (namespaceURI == null) { throw new ArgumentNullException(nameof(namespaceURI)); } if (this.NodeType != XmlNodeType.Element) { throw new XmlException(27, this.NodeType.ToString(), this as IXmlLineInfo); } if (this.LocalName != localName || this.NamespaceURI != namespaceURI) { throw new XmlException(34, new string[2] { localName, namespaceURI }, this as IXmlLineInfo); } }
internal void CheckElement(string localName, string namespaceURI) { if (localName == null || localName.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(localName, "localName"); } if (namespaceURI == null) { throw new ArgumentNullException("namespaceURI"); } if (NodeType != XmlNodeType.Element) { throw new XmlException(Res.Xml_InvalidNodeType, this.NodeType.ToString(), this as IXmlLineInfo); } if (LocalName != localName || NamespaceURI != namespaceURI) { throw new XmlException(Res.Xml_ElementNotFoundNs, new string[2] { localName, namespaceURI }, this as IXmlLineInfo); } }
// Reads to the next sibling of the current element with the given Name. public virtual bool ReadToNextSibling(string name) { if (name == null || name.Length == 0) { throw XmlExceptionHelper.CreateInvalidNameArgumentException(name, "name"); } // atomize name name = NameTable.Add(name); // find the next sibling XmlNodeType nt; do { SkipSubtree(); nt = NodeType; if (nt == XmlNodeType.Element && Ref.Equal(name, Name)) { return(true); } } while (nt != XmlNodeType.EndElement && !EOF); return(false); }