System.Xml.XPath.XPathNavigator.SelectSingleNode C# (CSharp) Method

SelectSingleNode() public method

public SelectSingleNode ( XPathExpression expression ) : XPathNavigator
expression XPathExpression
return XPathNavigator
        public virtual XPathNavigator SelectSingleNode(XPathExpression expression)
        {
            // PERF BUG: this actually caches _all_ matching nodes...
            XPathNodeIterator iter = this.Select(expression);
            if (iter.MoveNext())
            {
                return iter.Current;
            }
            return null;
        }

Same methods

XPathNavigator::SelectSingleNode ( string xpath ) : XPathNavigator
XPathNavigator::SelectSingleNode ( string xpath, IXmlNamespaceResolver resolver ) : XPathNavigator

Usage Example

		public ForEachComponent (BuildAssembler assembler, XPathNavigator configuration) : base(assembler, configuration) {

            // set up the context
            XPathNodeIterator context_nodes = configuration.Select("context");
            foreach (XPathNavigator context_node in context_nodes)
            {
                string prefix = context_node.GetAttribute("prefix", String.Empty);
                string name = context_node.GetAttribute("name", String.Empty);
                context.AddNamespace(prefix, name);
            }

			// load the expression format
			XPathNavigator variable_node = configuration.SelectSingleNode("variable");
			if (variable_node == null) throw new ConfigurationErrorsException("When instantiating a ForEach component, you must specify a variable using the <variable> element.");
			string xpath_format = variable_node.GetAttribute("expression", String.Empty);
			if ((xpath_format == null) || (xpath_format.Length == 0)) throw new ConfigurationErrorsException("When instantiating a ForEach component, you must specify a variable expression using the expression attribute");
			xpath = XPathExpression.Compile(xpath_format);

			// load the subcomponents
			WriteMessage(MessageLevel.Info, "Loading subcomponents.");
			XPathNavigator components_node = configuration.SelectSingleNode("components");
			if (components_node == null) throw new ConfigurationErrorsException("When instantiating a ForEach component, you must specify subcomponents using the <components> element.");
			
			components = BuildAssembler.LoadComponents(components_node);

			WriteMessage(MessageLevel.Info, String.Format("Loaded {0} subcomponents.", components.Count));

		}
All Usage Examples Of System.Xml.XPath.XPathNavigator::SelectSingleNode