public ControllerNodeSet SelectDataFields(params System.String[] fieldNames) { List<XPathNavigator> list = new List<XPathNavigator>(); foreach (XPathNavigator node in _nodes) { ControllerNodeSet nodeSet = new ControllerNodeSet(this, node); if (fieldNames.Length == 0) list.AddRange(nodeSet.SelectInContext("dataField", "dataField").Nodes); else list.AddRange(nodeSet.SelectInContext("dataField", "dataField[@fieldName=$fieldName]", fieldNames).Nodes); } return new ControllerNodeSet(this, list); }
public ControllerNodeSet Use() { if (_nodes.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (XPathNavigator node in _nodes) sb.Append(node.OuterXml); string nodeName = _nodes[0].Name; XPathNavigator parentNode = _nodes[0].SelectSingleNode("parent::*"); parentNode.InnerXml = sb.ToString(); ControllerNodeSet nodeSet = new ControllerNodeSet(this, parentNode); List<XPathNavigator> list = new List<XPathNavigator>(); list.AddRange(nodeSet.SelectInContext(nodeName, nodeName).Nodes); return new ControllerNodeSet(this, list); } return this; }