public override bool IsStartElement(string name) { if (name == null) return false; int index = name.IndexOf(':'); string prefix; string localName; if (index == -1) { prefix = string.Empty; localName = name; } else { prefix = name.Substring(0, index); localName = name.Substring(index + 1); } return (_node.NodeType == XmlNodeType.Element || IsStartElement()) && _node.Prefix == prefix && _node.LocalName == localName; }