public XPathNodeIterator GetMeasureSignal( XPathNodeIterator rootNode, int measureId )
{
int counter = 1;
XPathNodeIterator navigator = null;
XmlDocument xPathDocument = new XmlDocument();
XmlElement xmlElement = xPathDocument.CreateElement("measure");
xPathDocument.AppendChild(xmlElement);
XmlNamespaceManager mngr = new XmlNamespaceManager(new NameTable());
List<string> varList = new List<string>();
foreach (XPathNavigator root in rootNode)
{
XPathNodeIterator measureStatements = root.Select(string.Format("//*/measure[@id={0}]", measureId));
foreach (XPathNavigator measureStatement in measureStatements) //Should only be one
{
ExtractAtlasSource(measureStatement, xmlElement);
var node = measureStatement.SelectSingleNode("signal_component/atlas/noun/@type");
if (node != null)
xmlElement.SetAttribute( "name", node.Value );
XPathNodeIterator modifiers = root.Select("measured_characteristics/noun_modifiers/noun_modifier");
XmlElement attributes = xPathDocument.CreateElement( "attributes" );
xmlElement.AppendChild( attributes );
foreach (XPathNavigator modifier in modifiers)
{
node = modifier.SelectSingleNode("signal_component/atlas/noun_modifier/@type");
if (node != null)
attributes.SetAttribute( node.Name, node.Value );
}
}
}
XPathNavigator nav = xPathDocument.CreateNavigator();
navigator = nav.Select("/", mngr);
return navigator;
}