private XmlNodeList SelectNodes() { XmlNamespaceManager nsMgr = NamespaceManager; XmlNodeList nodes = null; try { if (nsMgr != null) { nodes = ContextNode.SelectNodes(XPath, nsMgr); } else { nodes = ContextNode.SelectNodes(XPath); } } catch (XPathException xe) { Status = BindingStatusInternal.PathError; if (TraceData.IsEnabled) { TraceData.TraceAndNotify(TraceEventType.Error, TraceData.CannotGetXmlNodeCollection, ParentBindingExpression, traceParameters: new object[] { (ContextNode != null) ? ContextNode.Name : null, XPath, ParentBindingExpression, xe }, eventParameters: new object[] { xe }); } } if (TraceData.IsExtendedTraceEnabled(ParentBindingExpression, TraceDataLevel.GetValue)) { TraceData.TraceAndNotifyWithNoParameters(TraceEventType.Warning, TraceData.SelectNodes( TraceData.Identify(ParentBindingExpression), IdentifyNode(ContextNode), TraceData.Identify(XPath), IdentifyNodeList(nodes)), ParentBindingExpression); } return(nodes); }
public RootStreamDirectory(PipelineContext ctx, XmlNode node) : base(ctx, node) { children = new List <StreamDirectory>(); StreamDirectory x = createFromNode(ctx, ContextNode, ContextNode, false); if (x != null) { children.Add(x); } else { XmlNodeList nodes = ContextNode.SelectNodes("provider"); for (int i = 0; i < nodes.Count; i++) { children.Add(createFromNode(ctx, (XmlElement)nodes[i], ContextNode, true)); } } if (children.Count == 0) { throw new BMNodeException(node, "No providers found. No <provider> child is found and no url/file/root attributes are found."); } }