XmlDocument节点遍历(C#)

C#遍历XmlDocument对象所有节点名称、类型、属性(Attribute)

源码下载

代码

static void Main(string[] args)
        {
            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            doc.Load("../../UpdateActivity2.xml");//doc.Load(文件):从文件加载 doc。doc.LoadXml(字符串)从字符串加载
            UpdateActivity2(doc);
        }
/// 
        /// 测试方法
        /// 
        /// XmlDocument对象
        public static void UpdateActivity2(XmlDocument doc)
        {
            string xx = doc.InnerXml;
            //Activity2
            string activity2ID = "";
            string docid = "";
            string docTypeid = "";
            #region MyRegion
            //获取delete的节点
            //doc.SelectNodes("//Relationships/Item[@action='delete' and @type='Activity2 Deliverable']/related_id[@type='Deliverable']/Item[@type='Document' or @type='CAD']")
            //获取add的节点
            //doc.SelectNodes("//Relationships/Item[@action='add' and @type='Activity2 Deliverable']") 
            #endregion

            XmlNodeList Activity2Nodes = doc.SelectNodes("//Item[@type='Activity2']");
            ////遍历Activity2Nodes中的所有节点
            //foreach (XmlNode node in Activity2Nodes)
            //{
            //    Console.WriteLine("=========="+node.Name+"===========");
            //    foreach (XmlAttribute atr in node.Attributes)
            //    {
            //        Console.WriteLine(atr.Name+ "\t:" +atr.Value);
            //    }
            //    XmlNodeList childNodes = doc.ChildNodes;
            //    PrintChildNodes(childNodes);
            //    Console.Read();
            //}
            PrintChildNodes(Activity2Nodes);
            Console.WriteLine("=============================deleteNodes=======================================");
            foreach (XmlNode activity2 in Activity2Nodes)
            {
                activity2ID = activity2.Attributes["id"].Value;
                //Action = delete
                XmlNodeList deleteNodes = doc.SelectNodes("//Relationships/Item[@action='delete' and @type='Activity2 Deliverable']/related_id[@type='Deliverable']/Item[@type='Document' or @type='CAD']");
                PrintChildNodes(deleteNodes);
            }
        }
 /// 
        /// 遍历所有节点的type、name、Attributes
        /// 
        /// 
        static void PrintChildNodes(XmlNodeList childnodelist)
        {
            try
            {
                foreach (XmlNode node in childnodelist)
                {
                    //(node.NodeType 是Text时,即是最内层 即innertext值,node.Attributes为null。
                    if (node.NodeType == XmlNodeType.Text)
                    {
                        Console.WriteLine("NodeType:" + node.NodeType + "\t" + node.Name + "\t:" + node.Value);
                        continue;
                    }
                    Console.WriteLine("==========node.Name:" + node.Name + "===========");
                    foreach (XmlAttribute atr in node.Attributes)
                    {
                        Console.WriteLine("NodeType:"+atr.NodeType+"\t"+ atr.Name + "\t:" + atr.Value);
                    }
                    if (node.ChildNodes.Count > 0)
                    {
                        PrintChildNodes(node.ChildNodes);
                    }
                }
            }
            catch (Exception ex )
            {
                Console.WriteLine(ex.Message);
            }
        }        

XML档

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <ApplyItem>
      <Item type="Method" action="UpdateActivity2" impersonate="0">
        <Item type="Activity2" typeId="E236DB697E294C46B630C99A0D20C2B1" id="6BDF5F2096F14405BAD77A7182DEF34B" action="UpdateActivity" isDirty="1">
          <config_id keyed_name="治具图" type="Activity2">6BDF5F2096F14405BAD77A7182DEF34Bconfig_id>
          <created_by_id keyed_name="王旧" type="User">1DCA0BEA51AA46D8982A872C13B0C2C2created_by_id>
          <created_on>2016-10-14T12:07:17created_on>
          <current_state keyed_name="Active" type="Life Cycle State" name="Active">348A09DDD3E34CAFA837984AD1426D9Ccurrent_state>
          <date_activated>2017-02-28T19:18:21date_activated>
          <date_due_sched>2017-04-18T00:00:00date_due_sched>
          <date_ef>2017-03-03T00:00:00date_ef>
          <date_es>2017-02-20T00:00:00date_es>
          <date_lf>2017-09-18T00:00:00date_lf>
          <date_ls>2017-09-05T00:00:00date_ls>
          <date_start_sched>2017-04-05T00:00:00date_start_sched>
          <deliv_required>1deliv_required>
          <earned_value>0earned_value>
          <expected_duration>10expected_duration>
          <generation>1generation>
          <id keyed_name="治具图" type="Activity2">6BDF5F2096F14405BAD77A7182DEF34Bid>
          <is_critical>0is_critical>
          <is_current>1is_current>
          <is_milestone>0is_milestone>
          <is_released>0is_released>
          <is_required>1is_required>
          <keyed_name>治具图keyed_name>
          <lead_role>Electronics Engineerlead_role>
          <lx_allreview/>
          <lx_ph>2lx_ph>
          <lx_requirepart>0lx_requirepart>
          <lx_review>1lx_review>
          <lx_review_pers/>
          <major_rev>Amajor_rev>
          <managed_by_id keyed_name="王 旧" type="Identity">E96B522DF5DF4E19BF27EF915EE4E6AAmanaged_by_id>
          <modified_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEmodified_by_id>
          <modified_on>2017-09-26T19:42:22modified_on>
          <new_version>1new_version>
          <not_lockable>0not_lockable>
          <owned_by_id keyed_name="梁新" type="Identity">FB0D355A16B04A848417EE270BFE0B02owned_by_id>
          <percent_compl>0percent_compl>
          <planned_value>920planned_value>
          <prev_item>A52478EF81F047D7AFF9BAED2B6CE3F1prev_item>
          <proj_num>23343proj_num>
          <signoff_required>0signoff_required>
          <spi>0.0000spi>
          <state>Activestate>
          <status>#FF0000status>
          <team_id keyed_name="5CD06953B4354239AA5E00ADEDE7B078" type="Team">D4ECE5BD68B54D969B87C17C068F3E09team_id>
          <name>治具图name>
          <fed_css>
            .percent_compl{background-color:#FFCCCC}
            .date_start_act{background-color:#FFCCCC}
          fed_css>
          <Relationships>
            <Item id="45B304A7BF0F4077B44351E1BD87DCBA" type="Activity2 Deliverable" typeId="0CCA05E05A104F2E88CF123EF4F5171E" action="delete">
              <created_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEcreated_by_id>
              <created_on>2017-09-26T19:38:16created_on>
              <css is_null="1"/>
              <current_state is_null="1"/>
              <id keyed_name="45B304A7BF0F4077B44351E1BD87DCBA" type="Activity2 Deliverable">45B304A7BF0F4077B44351E1BD87DCBAid>
              <keyed_name>45B304A7BF0F4077B44351E1BD87DCBAkeyed_name>
              <locked_by_id is_null="1"/>
              <lx_activity2manager keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFElx_activity2manager>
              <lx_activity2name>治具图lx_activity2name>
              <lx_classification>品质文件/不良看板lx_classification>
              <lx_projectnum>23343lx_projectnum>
              <major_rev>Amajor_rev>
              <modified_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEmodified_by_id>
              <modified_on>2017-09-26T19:38:16modified_on>
              <related_id keyed_name="DOC16-0000029605" type="Deliverable">
                <Item type="Document" typeId="B88C14B99EF449828C5D926E39EE8B89" id="49A80B2AE016488FB9095B7E6FDA5562">
                  <classification>品质文件/不良看板classification>
                  <config_id keyed_name="DOC16-0000029605" type="Document">49A80B2AE016488FB9095B7E6FDA5562config_id>
                  <created_by_id keyed_name="王山" type="User">97CDC886228E4217B70EB32C5E7A051Bcreated_by_id>
                  <created_on>2016-12-08T14:39:50created_on>
                  <current_state keyed_name="Released" type="Life Cycle State" name="Released">A089866A0FE34B6799296DE32FD23DB0current_state>
                  <description>外部线TYPE-C终检不良看板description>
                  <effective_date>2016-12-09T09:35:04effective_date>
                  <generation>1generation>
                  <has_change_pending>0has_change_pending>
                  <has_files>1has_files>
                  <id keyed_name="DOC16-0000029605" type="Document">49A80B2AE016488FB9095B7E6FDA5562id>
                  <is_batchloader>0is_batchloader>
                  <is_current>1is_current>
                  <is_released>1is_released>
                  <is_template>0is_template>
                  <keyed_name>DOC16-0000029605keyed_name>
                  <lx_commonarea>外部线lx_commonarea>
                  <lx_customer/>
                  <lx_doc_cad_partstype>10lx_doc_cad_partstype>
                  <lx_parts/>
                  <lx_producttype>PTAC_BZLANTOlx_producttype>
                  <lx_projectname/>
                  <lx_projectnamer>testlx_projectnamer>
                  <lx_projectnum>23343lx_projectnum>
                  <lx_ssss>0lx_ssss>
                  <lx_usefactory>BZLANTOlx_usefactory>
                  <major_rev>Xmajor_rev>
                  <modified_by_id keyed_name="Admin" type="User">30B991F927274FA3829655F50C99472Emodified_by_id>
                  <modified_on>2016-12-09T09:35:04modified_on>
                  <name>外部线TYPE-C终检不良看板name>
                  <new_version>0new_version>
                  <not_lockable>1not_lockable>
                  <owned_by_id keyed_name="品质工程师" type="Identity">7EB1EB96188A438588DDAAD14A2BE716owned_by_id>
                  <release_date>2016-12-09T09:35:04release_date>
                  <sop_gen>1sop_gen>
                  <sop_ver>Asop_ver>
                  <state>Releasedstate>
                  <item_number>DOC16-0000029605item_number>
                  <itemtype>B88C14B99EF449828C5D926E39EE8B89itemtype>
                Item>
              related_id>
              <source_id keyed_name="治具图" type="Activity2">6BDF5F2096F14405BAD77A7182DEF34Bsource_id>
            Item>
            <Item id="7387AC910646405B8CDFA2B8E031B822" type="Activity2 Deliverable" typeId="0CCA05E05A104F2E88CF123EF4F5171E" action="delete">
              <created_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEcreated_by_id>
              <created_on>2017-09-26T19:39:19created_on>
              <css is_null="1"/>
              <current_state is_null="1"/>
              <id keyed_name="7387AC910646405B8CDFA2B8E031B822" type="Activity2 Deliverable">7387AC910646405B8CDFA2B8E031B822id>
              <keyed_name>7387AC910646405B8CDFA2B8E031B822keyed_name>
              <locked_by_id is_null="1"/>
              <lx_activity2manager keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFElx_activity2manager>
              <lx_activity2name>治具图lx_activity2name>
              <lx_classification>工程文件/标准排配lx_classification>
              <lx_projectnum>23343lx_projectnum>
              <major_rev>Amajor_rev>
              <modified_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEmodified_by_id>
              <modified_on>2017-09-26T19:39:19modified_on>
              <related_id keyed_name="DOC16-0000029606" type="Deliverable">
                <Item type="Document" typeId="B88C14B99EF449828C5D926E39EE8B89" id="B241B7570448435899F402D48D01599C">
                  <classification>工程文件/标准排配classification>
                  <config_id keyed_name="DOC16-0000029606" type="Document">B241B7570448435899F402D48D01599Cconfig_id>
                  <created_by_id keyed_name="黄平" type="User">63E3C06CEC7E429DA6D06ECB87D5B96Ecreated_by_id>
                  <created_on>2016-12-08T15:08:59created_on>
                  <current_state keyed_name="Released" type="Life Cycle State" name="Released">7726A5CBBACA4E398FA26DA5682AAB4Acurrent_state>
                  <effective_date>2016-12-10T13:52:07effective_date>
                  <generation>1generation>
                  <has_change_pending>0has_change_pending>
                  <has_files>1has_files>
                  <id keyed_name="DOC16-0000029606" type="Document">B241B7570448435899F402D48D01599Cid>
                  <is_batchloader>0is_batchloader>
                  <is_current>1is_current>
                  <is_released>1is_released>
                  <is_template>0is_template>
                  <keyed_name>DOC16-0000029606keyed_name>
                  <lx_customer/>
                  <lx_parts>LGJSA002-DT-Rlx_parts>
                  <lx_producttype>PTAA_LX53lx_producttype>
                  <lx_projectname/>
                  <lx_projectnamer>testlx_projectnamer>
                  <lx_projectnum>23343lx_projectnum>
                  <lx_ssss>0lx_ssss>
                  <lx_usefactory>LX53lx_usefactory>
                  <major_rev>Xmajor_rev>
                  <modified_by_id keyed_name="Admin" type="User">30B991F927274FA3829655F50C99472Emodified_by_id>
                  <modified_on>2016-12-10T13:52:07modified_on>
                  <name>LGJSA002-DT-R排Aname>
                  <new_version>0new_version>
                  <not_lockable>1not_lockable>
                  <owned_by_id keyed_name="线装IE工程师" type="Identity">272C18498A9B4902BA7831A8293EEE2Downed_by_id>
                  <release_date>2016-12-10T13:52:07release_date>
                  <sop_gen>1sop_gen>
                  <sop_ver>Asop_ver>
                  <state>Releasedstate>
                  <item_number>DOC16-0000029606item_number>
                  <itemtype>B88C14B99EF449828C5D926E39EE8B89itemtype>
                Item>
              related_id>
              <source_id keyed_name="治具图" type="Activity2">6BDF5F2096F14405BAD77A7182DEF34Bsource_id>
            Item>
            <Item id="4088E5C4E4594477B74D34C2B36D88FB" type="Activity2 Deliverable" typeId="0CCA05E05A104F2E88CF123EF4F5171E">
              <created_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEcreated_by_id>
              <created_on>2017-09-26T19:42:22created_on>
              <css is_null="1"/>
              <current_state is_null="1"/>
              <id keyed_name="4088E5C4E4594477B74D34C2B36D88FB" type="Activity2 Deliverable">4088E5C4E4594477B74D34C2B36D88FBid>
              <keyed_name>4088E5C4E4594477B74D34C2B36D88FBkeyed_name>
              <locked_by_id is_null="1"/>
              <lx_activity2manager keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFElx_activity2manager>
              <lx_activity2name>治具图lx_activity2name>
              <lx_classification>工程文件/标准排配lx_classification>
              <lx_projectnum>23343lx_projectnum>
              <major_rev>Amajor_rev>
              <modified_by_id keyed_name="王 旧" type="User">4C66AA1CBF5145F8B37F37244E84ABFEmodified_by_id>
              <modified_on>2017-09-26T19:42:22modified_on>
              <related_id keyed_name="DOC16-0000029607" type="Deliverable">
                <Item type="Document" typeId="B88C14B99EF449828C5D926E39EE8B89" id="751623C841794ED3AA6E30BA8731EF97">
                  <classification>工程文件/标准排配classification>
                  <config_id keyed_name="DOC16-0000029607" type="Document">751623C841794ED3AA6E30BA8731EF97config_id>
                  <created_by_id keyed_name="黄平" type="User">63E3C06CEC7E429DA6D06ECB87D5B96Ecreated_by_id>
                  <created_on>2016-12-08T15:10:52created_on>
                  <current_state keyed_name="Released" type="Life Cycle State" name="Released">7726A5CBBACA4E398FA26DA5682AAB4Acurrent_state>
                  <effective_date>2016-12-10T13:52:07effective_date>
                  <generation>1generation>
                  <has_change_pending>0has_change_pending>
                  <has_files>1has_files>
                  <id keyed_name="DOC16-0000029607" type="Document">751623C841794ED3AA6E30BA8731EF97id>
                  <is_batchloader>0is_batchloader>
                  <is_current>1is_current>
                  <is_released>1is_released>
                  <is_template>0is_template>
                  <keyed_name>DOC16-0000029607keyed_name>
                  <lx_customer/>
                  <lx_parts>LGJSA001-DT-Rlx_parts>
                  <lx_producttype>PTAA_LX53lx_producttype>
                  <lx_projectname/>
                  <lx_projectnamer>test,testlx_projectnamer>
                  <lx_projectnum>26383,23343lx_projectnum>
                  <lx_ssss>0lx_ssss>
                  <lx_usearea>A83lx_usearea>
                  <lx_usefactory>LX53lx_usefactory>
                  <major_rev>Xmajor_rev>
                  <modified_by_id keyed_name="Admin" type="User">30B991F927274FA3829655F50C99472Emodified_by_id>
                  <modified_on>2016-12-10T13:52:07modified_on>
                  <name>LGJSA001-DT-R排Aname>
                  <new_version>0new_version>
                  <not_lockable>1not_lockable>
                  <owned_by_id keyed_name="线装IE工程师" type="Identity">272C18498A9B4902BA7831A8293EEE2Downed_by_id>
                  <release_date>2016-12-10T13:52:07release_date>
                  <sop_gen>1sop_gen>
                  <sop_ver>Asop_ver>
                  <state>Releasedstate>
                  <item_number>DOC16-0000029607item_number>
                  <itemtype>B88C14B99EF449828C5D926E39EE8B89itemtype>
                Item>
              related_id>
              <source_id keyed_name="治具图" type="Activity2">6BDF5F2096F14405BAD77A7182DEF34Bsource_id>
            Item>
            <Item type="Activity2 Deliverable" id="34A6671FC78F4C0EBA815F1AD5C4C702" action="add" loaded="1" levels="0" isTemp="1" typeId="0CCA05E05A104F2E88CF123EF4F5171E" LastModifiedOn="1506509992553">
              <related_id>
                <Item type="Deliverable" typeId="86920FEE161244F6B4B507130B18CADE" id="A93C9EE8656C4BDC8F0B22337B07FC1B" levels="0">
                  <classification>客户图classification>
                  <config_id keyed_name="CAD17-0000011829" type="Deliverable">A93C9EE8656C4BDC8F0B22337B07FC1Bconfig_id>
                  <created_by_id keyed_name="梁新" type="User">70EC6C95D08F409E9E2378B02115E572created_by_id>
                  <created_on>2017-03-08T14:07:45created_on>
                  <current_state keyed_name="In Review" type="Life Cycle State" name="In Review">870C0DCA808F4D0F9718F5F37388235Ccurrent_state>
                  <generation>1generation>
                  <id keyed_name="CAD17-0000011829" type="Deliverable">A93C9EE8656C4BDC8F0B22337B07FC1Bid>
                  <is_current>1is_current>
                  <is_released>0is_released>
                  <itemtype>CCF205347C814DD1AF056875E0A880ACitemtype>
                  <keyed_name>CAD17-0000011829keyed_name>
                  <major_rev>Xmajor_rev>
                  <modified_by_id keyed_name="梁新" type="User">70EC6C95D08F409E9E2378B02115E572modified_by_id>
                  <modified_on>2017-08-07T10:18:29modified_on>
                  <new_version>0new_version>
                  <not_lockable>1not_lockable>
                  <owned_by_id keyed_name="研发工程师" type="Identity">5BCB3F52640B434EB27747A79D25DB4Bowned_by_id>
                  <state>In Reviewstate>
                Item>
              related_id>
              <source_id keyed_name="治具图">6BDF5F2096F14405BAD77A7182DEF34Bsource_id>
            Item>
            <Item type="Activity2 Deliverable" id="06562E228E0B48E19C5D32CB739517DD" action="add" loaded="1" levels="0" isTemp="1" typeId="0CCA05E05A104F2E88CF123EF4F5171E" LastModifiedOn="1506509992699">
              <related_id>
                <Item type="Deliverable" typeId="86920FEE161244F6B4B507130B18CADE" id="AE6002C6F5F9403F89FD1521E52AE73F" levels="0">
                  <classification>客户图classification>
                  <config_id keyed_name="CAD17-0000011828" type="Deliverable">BD95AA887A9C4241810FA28875491DCBconfig_id>
                  <created_by_id keyed_name="梁新" type="User">70EC6C95D08F409E9E2378B02115E572created_by_id>
                  <created_on>2017-03-08T14:07:39created_on>
                  <current_state keyed_name="In Review" type="Life Cycle State" name="In Review">870C0DCA808F4D0F9718F5F37388235Ccurrent_state>
                  <generation>3generation>
                  <id keyed_name="CAD17-0000011828" type="Deliverable">AE6002C6F5F9403F89FD1521E52AE73Fid>
                  <is_current>1is_current>
                  <is_released>0is_released>
                  <itemtype>CCF205347C814DD1AF056875E0A880ACitemtype>
                  <keyed_name>CAD17-0000011828keyed_name>
                  <major_rev>Xmajor_rev>
                  <modified_by_id keyed_name="梁新" type="User">70EC6C95D08F409E9E2378B02115E572modified_by_id>
                  <modified_on>2017-08-07T10:18:29modified_on>
                  <new_version>0new_version>
                  <not_lockable>1not_lockable>
                  <owned_by_id keyed_name="研发工程师" type="Identity">5BCB3F52640B434EB27747A79D25DB4Bowned_by_id>
                  <state>In Reviewstate>
                Item>
              related_id>
              <source_id keyed_name="治具图">6BDF5F2096F14405BAD77A7182DEF34Bsource_id>
            Item>
          Relationships>
          <CurrentUserId>4C66AA1CBF5145F8B37F37244E84ABFECurrentUserId>
        Item>
      Item>
    ApplyItem>
  SOAP-ENV:Body>
SOAP-ENV:Envelope>

XmlDocument节点遍历(C#)_第1张图片

你可能感兴趣的:(随笔)