><activity_summary> > <level_plan> > <level_segment level_key="1243"> > <activities> > <activity act_key="1" ... no_action="Y"> > <detail det_key="8" data1="0" data2="0" data3="0"> > <detail det_key="12" data1="0" data2="0" data3="0"> > <detail det_key="16" data1="0" data2="0" data3="0"> > <detail det_key="24" data1="0" data2="0" data3="0"> > </activity> > </activities> > </level_segment> > <level_segment level_key="4243"> > <activities> > <activity act_key="1" ... no_action="N"> > <detail det_key="8" data1="10" data2="20" data3="30"> > <detail det_key="12" data1="10" data2="20" data3="30"> > <detail det_key="16" data1="10" data2="20" data3="30"> > <detail det_key="24" data1="10" data2="20" data3="30"> > </activity> > </activities> > </level_segment> > </level_plan> ></activity_summary> >>
> Dim oActivities As System.Xml.XmlElement > Dim oActivityNodeList As System.Xml.XmlNodeList > Dim oActivitiesNodeList As System.Xml.XmlNodeList > Dim oActivity As System.Xml.XmlElement > > Dim dcol As System.Data.DataColumn > Dim drAsset As System.Data.DataRow > > ' Table to hold segments > Dim dtSegments As New System.Data.DataTable("seg_assets") > dcol = New System.Data.DataColumn("act_key", System.Type.GetType("System.Int32")) > dtSegments.Columns.Add(dcol) > > xmlDoc.LoadXml(strActivityXml) > > If m_ReportXml.GetElementText("/report/reportcontent//control/show_all_segments") = "Y" Then > bShowAllSegments = True > End If > > > oActivitiesNodeList = xmlDoc.DocumentElement.SelectNodes("//level_plan/level_segment/activities") > >For Each oActivities In oActivitiesNodeList > For Each oActivity In oActivities.childnodes > If Not bShowAllSegments And oActivity.GetAttribute("no_action") = "Y" Then > oActivities.RemoveChild(oActivity) > Else > Dim bAstFound As Boolean > 'Dim drAsset As System.Data.DataRow > For Each drAsset In dtSegments.Rows > If drAsset.Item("act_key") = oActivity.GetAttribute("act_key") Then > bAstFound = True > End If > Next > If Not bAstFound Then > 'Dim drAsset As System.Data.DataRow > drAsset = dtSegments.NewRow > drAsset.Item("act_key") = oActivity.GetAttribute("act_key") > dtSegments.Rows.Add(drAsset) > iSegmentsToDisplayCount = iSegmentsToDisplayCount + 1 > End If > End If > Next >Next >>