Linq遍歷XML

 

 

 

 

static void GetAllWorkflows()

 

        {

           

XDocument xdoc = XDocument.Load(@"D:\Document\Workflows.xml");                      

 

           

var workflows = from workflow in xdoc.Descendants("Workflow")

 

                      

select new

 

                       {

                           Name = workflow.Attribute(

"Name").Value,

 

                           Category = workflow.Attribute(

"Category").Value,

 

                           Owner = workflow.Attribute(

"Owner").Value,

 

CreatedOn = workflow.Attribute(

"CreatedOn").Value,

 

                           LastUpdatedOn = workflow.Attribute(

"LastUpdatedOn").Value,

 

                           LastUpdatedBy = workflow.Attribute(

"LastUpdatedBy").Value,

 

                           Children = workflow.Descendants(

"Activity")

 

                       };

           

//Loop through results for every workflow

 

           

foreach (var workflow in workflows)

 

            {

               

Console.WriteLine("WorkflowName: " +workflow.Name+";Category:"+ workflow.Category );

 

               

foreach (var activity in workflow.Children)

 

                {

                   

Console.WriteLine("  ActivityName:   " + activity.Attribute("name").Value);

 

                   

Console.WriteLine("  ActivityIsEnabled:   " + activity.Attribute("IsEnabled").Value);

 

                }

            }

        }

 

 

 

XML 格式:

<?xml version="1.0" encoding="utf-8"?>
<Workflows>
  <Workflow Name="SCDI COMMON TASKS" Category="Hand Off" Owner="" CreatedOn="2012-12-04 17:44" LastUpdatedOn="2012-13-04 17:44" LastUpdatedBy="">
    <Activity name="Sync Projects" IsEnabled="true" />
    <Activity name="Checkout Projects" IsEnabled="true" />
    <Activity name="Update LCLs" IsEnabled="true" />
    <Activity name="Run LocVer 0" IsEnabled="true" />
    <Activity name="Run LocVer" IsEnabled="false" />
    <Activity name="Generate Files" IsEnabled="true" />
    <Activity name="Create Statistics" IsEnabled="true" />
    <Activity name="SD Revert Unchanged" IsEnabled="true" />
    <Activity name="SD Submit All Files" IsEnabled="true" />
    <Activity name="Repetition Estimate" IsEnabled="true" />
    <Activity name="Repetition Get Exceptions" IsEnabled="true" />
    <Activity name="Repetition Reset" IsEnabled="true" />
    <Activity name="Repetition Clean" IsEnabled="true" />
  </Workflow>
<Workflow Name="workflow2" Category="Hand back" Owner="" CreatedOn="2012-12-04 17:44" LastUpdatedOn="2012-13-04 17:44" LastUpdatedBy="">
    <Activity name="Sync Projects" IsEnabled="true" />
    <Activity name="Checkout Projects" IsEnabled="true" />
    <Activity name="Update LCLs" IsEnabled="true" />  
  </Workflow>
<Workflow Name="workflow3" Category="common" Owner="" CreatedOn="2012-12-04 17:44" LastUpdatedOn="2012-13-04 17:44" LastUpdatedBy="">
    <Activity name="Sync Projects" IsEnabled="true" />
    <Activity name="Checkout Projects" IsEnabled="true" />
    <Activity name="Update LCLs" IsEnabled="true" />  
  </Workflow>


</Workflows>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章