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>