【项目】Project数据读写小程序(二):Project文件xml格式的标记

Project的xml总共可分为<Project> <OutlineCode> <WBSmask> <ExtendedAttribute> <Calendar> <Task> <Resource><Assignment> 等八大块,还有一个<TimephasedDataType>。<Project>主要用于一些全局参数的设定,是其它所有标记的父标记。<OutlineCode> <WBSmask> <ExtendedAttribute> 比较少用。<Calendar> <Resource> 人如其名,用于储存与日历和资源相关的数据。<Task>与<Assignment>较相似,可以说都是我们之前所讲的“工作”,不过还是用不同的是<Task>包含了摘要任务,并且有所谓的“前工作”设定,而<Assignment>没有。

关于Project文件xml格式的标记的参考文件安装Project时已经有,路径是“Office安装路径\OFFICE11\2052
”下的PJXML.chm。里面有很数百个标记,有些我在Project的范例文件里都没见过,应该是一下不常用的功能。故在这里我只是列举通常的mpp文件都有的标记,并对一些重要的标记注解,而对于我觉得在项目中会涉及到的标记,我会用红色标记。

<?xml version="1.0"?>
<Project xmlns="http://schemas.microsoft.com/project">
   <Name>
   <Company>
   <Author>
   <CreationDate>
   <LastSaved>
   <ScheduleFromStart>
   <StartDate>
   <FinishDate>
   <FYStartDate>
   <CriticalSlackLimit>
   <CurrencyDigits>
   <CurrencySymbol>
   <CurrencySymbolPosition>
   <CalendarUID>
   <DefaultStartTime>
   <DefaultFinishTime>
   <MinutesPerDay>
   <MinutesPerWeek>
   <DaysPerMonth>
   <DefaultTaskType>
   <DefaultFixedCostAccrual>
   <DefaultStandardRate>
   <DefaultOvertimeRate>
   <DurationFormat>
   <WorkFormat>
   <EditableActualCosts>
   <HonorConstraints>
   <InsertedProjectsLikeSummary>
   <MultipleCriticalPaths>
   <NewTasksEffortDriven>
   <NewTasksEstimated>
   <SplitsInProgressTasks>
   <SpreadActualCost>
   <SpreadPercentComplete>
   <TaskUpdatesResource>
   <FiscalYearStart>
   <WeekStartDay>
   <MoveCompletedEndsBack>
   <MoveRemainingStartsBack>
   <MoveRemainingStartsForward>
   <MoveCompletedEndsForward>
   <BaselineForEarnedValue>
   <AutoAddNewResourcesAndTasks>
   <CurrentDate>
   <MicrosoftProjectServerURL>
   <Autolink>
   <NewTaskStartDate>
   <DefaultTaskEVMethod>
   <ProjectExternallyEdited>
   <ExtendedCreationDate>
   <ActualsInSync>
   <RemoveFileProperties>
   <AdminProject>
   
   <OutlineCodes/>
   <WBSMasks/>
   <ExtendedAttributes/>
   
   <Calendars>
      <Calendar>定义标准工作时间和非工作时间,项目必须有基准日历
         <UID>
         <Name>
         <IsBaseCalendar>
         <BaseCalendarUID>
         <WeekDays>
            <WeekDay>
               <DayType>
               <DayWorking>
               <WorkingTimes>
                  <WorkingTime>
                     <FromTime>
                     <ToTime>
                  </WorkingTime>
               </WorkingTimes>
               <TimePeriod>例外日期的工作安排
            </WeekDay>
         </WeekDays>
      </Calendar>
   </Calendars>
   
   <Tasks>
      <Task>
         <UID>首先有一个大的工作,就是整个项目,时间跨度是整个项目用时,<UID>为0,没有<Name>
         <ID>任务列表中任务的位置标识符
         <Name>

         <Type>任务的类型(固定单位、固定工期或固定工时)
         <IsNull>指定 <Task> 或 <Resource> 是否为空
         <CreateDate>
         <WBS>
         <OutlineNumber>
         <OutlineLevel>
         <Priority>指示分配给任务的重要性级别。500 表示标准优先级,数字越大,优先级越高
         <Start>
         <Finish>

         <Duration>#,活动工作时间的总范围
         <DurationFormat>用于显示任务工期的格式

         <Work>#,由所有分配资源在任务中计划完成的总工时量
         <ResumeValid>指示任务能否继续
         <EffortDriven>
         <Recurring>指示任务是否为周期性任务
         <OverAllocated>
         <Estimated>指示任务的工期是否标记为估计值
         <Milestone>指示任务是否为里程碑
         <Summary>指示任务是否为摘要任务
         <Critical>指示任务是否位于关键路径上
         <IsSubproject>指示任务是否为插入的项目
         <IsSubprojectReadOnly>
         <ExternalTask>指示该任务是链接自其他项目还是来源于当前项目
         <EarlyStart>
         <EarlyFinish>
         <LateStart>
         <LateFinish>

         <StartVariance>是任务的比较基准开始日期与其当前计划开始日期之间的差异
         <FinishVariance>是任务的比较基准完成日期与其当前计划完成日期之间的差异
         <WorkVariance>是任务的比较基准工时和当前计划工时之间的差异
         <FreeSlack>
         <TotalSlack>

         <FixedCost>与资源成本无关的任务费用
         <FixedCostAccrual>
         <PercentComplete>已完成任务工期的百分比
         <PercentWorkComplete>任务的当前状态,表示为已完成任务工时的百分比
         <Cost>是任务的总规划(或计划)成本
         <OvertimeCost>是任务的实际加班成本的总和
         <OvertimeWork>#,是分配给任务的所有资源计划完成的加班量
        
         <ActualDuration>#,迄今为止任务的实际工作时间的范围
         <ActualCost>
         <ActualWork>#,是分配给某项任务的资源已完成的工时量
         <ActualOvertimeCost>
         <ActualOvertimeWork>#,是分配给某项任务的所有资源已完成的实际加班工时量
        
         <RegularWork>#,是由分配给任务的所有资源计划完成的非加班工时总量
        
         <RemainingDuration>#,完成任务的未完成部分所需要的时间量
         <RemainingCost>
         <RemainingWork>
         <RemainingOvertimeCost>
         <RemainingOvertimeWork>
        
         <ACWP>任务中已完成工时的成本
         <CV>
         <ConstraintType>任务开始日期或完成日期的限制
         <CalendarUID>引用项目中使用的日历的有效 UID
         <LevelAssignments>指示调配功能是否可以延迟并拆分各个工作分配(而不是整个任务)
         <LevelingCanSplit>指示资源的调配功能是否可以对任务的剩余工时进行拆分
         <LevelingDelay>因为资源调配而导致任务比其早先开始日期延迟的时间量
         <LevelingDelayFormat>是 <LevelingDelay> 工期在任务或工作分配中的表示格式
         <IgnoreResourceCalendar>指示任务的日程排定是否考虑了分配给任务的资源的日历
         <HideBar>
         <Rollup>
         <BCWS>
         <PhysicalPercentComplete>完成任务总工时的实际百分比
         <EarnedValueMethod>
         <PredecessorLink>定义该任务的开始日期或完成日期所依赖的前置任务
            <PredecessorUID>该任务的开始日期或完成日期所依赖的前置任务的唯一标识号
            <Type>任务链接的类型(FF、FS、SF 或 SS)
            <CrossProject>指示前置任务是否为另一个项目的一部分
            <CrossProjectName>外部前置任务项目
            <LinkLag>以十分之一分钟表示的延隔时间量
            <LagFormat>在 <LinkLag> 中所指定的延隔时间量的格式
         </PredecessorLink>

         <ActualWorkProtected>#,指定对于任务、资源或工作分配,受保护的实际工时所在的工期
         <ActualOvertimeWorkProtected>#,指定对于任务、资源或工作分配,受保护的实际加班工时所在的工期
         <TimephasedData>是关于按时间分布的任务、资源或工作分配的信息。时间分段数据也可和任务或工作分配的比较基准相关联。
            <Type>时间分段数据的 76 种类型之一
            <UID>
            <Start>
            <Finish>
            <Unit>
            <Value>是时间分段数据记录中每个单位的值
         </TimephasedData>
      </Task>
   </Tasks>
   
   <Resources>
      <Resource>
         <UID>
         <ID>
         <Name>
         <Type>

         <IsNull>
         <Initials>
         <WorkGroup>
         <MaxUnits>
         <PeakUnits>
         <OverAllocated>
         <AvailableFrom>没出现,资源按为当前时间段指定的单位可以开始工作的日期
         <AvailableTo>没出现,资源按为当前时间段指定的单位可以结束工作的日期
         <CanLevel>指示是否可以进行资源调配
         <AccrueAt>
         <Work>#,资源在所有分配的任务上计划完成的总工时量
         <RegularWork>#
         <OvertimeWork>#
         <ActualWork>#
         <RemainingWork>#
         <ActualOvertimeWork>#
         <RemainingOvertimeWork>#
         <PercentWorkComplete>是分配给资源的所有任务的当前状态,表示为资源已完成工时的总百分比
         <StandardRate>
         <StandardRateFormat>
         <Cost>
         <OvertimeRate>
         <OvertimeRateFormat>
         <OvertimeCost>
         <CostPerUse>
         <ActualCost>
         <ActualOvertimeCost>
         <RemainingCost>
         <RemainingOvertimeCost>
         <WorkVariance>
         <CostVariance>
         <SV>
         <CV>
         <ACWP>
         <CalendarUID>
         <BCWS>
         <BCWP>
         <IsGeneric>
         <IsInactive>
         <IsEnterprise>
         <BookingType>
         <ActualWorkProtected>#
         <ActualOvertimeWorkProtected>#
         <CreationDate>
      </Resource>
   </Resources>   
   
   <Assignments>
      <Assignment>
         <UID>
         <TaskUID>
         <ResourceUID>

         <PercentWorkComplete>
         <ActualCost>
         <ActualOvertimeCost>
         <ActualOvertimeWork>#
         <ActualWork>#
         <ACWP>
         <Confirmed>
         <Cost>
         <CostRateTable>
         <CostVariance>
         <CV>
         <Delay>在任务开始日期后,资源开始执行工作分配前要等待的时间量
         <Finish>计划完成任务的日期和时间

         <FinishVariance>
         <WorkVariance>
         <HasFixedRateUnits>指示工作分配是否有固定的费率单位
         <FixedMaterial>
         <LevelingDelay>资源在任务中计划完成的总工时量
         <LevelingDelayFormat>
         <LinkedFields>
         <Milestone>
         <Overallocated>
         <OvertimeCost>
         <OvertimeWork>#
         <RegularWork>#
         <RemainingCost>
         <RemainingOvertimeCost>
         <RemainingOvertimeWork>#
         <RemainingWork>#
         <ResponsePending>
         <Start>任务的计划开始日期和时间
         <Stop>
         <Resume>
         <StartVariance>
         <Units>资源分配给一个任务的单位数,表示为百分数(假定资源的“最大单位”值是 100%)
         <UpdateNeeded>
         <VAC>
         <Work>#
         <WorkContour>指示工作分配的工时将如何在工作分配的工期内分布
         <BCWS>
         <BCWP>
         <BookingType>
         <ActualWorkProtected>
         <ActualOvertimeWorkProtected>
         <CreationDate>
         <TimephasedData>是关于按时间分布的任务、资源或工作分配的信息。时间分段数据也可和任务或工作分配的比较基准相关联。
            <Type>时间分段数据的 76 种类型之一
            <UID>
            <Start>
            <Finish>
            <Unit>
            <Value>是时间分段数据记录中每个单位的值
         </TimephasedData>
      </Assignment>
   </Assignments>
</Project>
posted @ 2008-01-24 01:37  斌伯  阅读(3983)  评论(3)    收藏  举报