通过 C# 的 MPXJ 读取 P6 活动 ID(.xer 和 xml)
本文关键字:xer xml ID 活动 MPXJ 读取 P6 通过 | 更新日期: 2023-09-27 18:31:03
MPXJ 版本:5.1.17
Q1: 如果我将 p6 文件导出到 .xer .当我使用 MPXJ 读取文件时,我在 c# 中得到了乱码文本。(原来是中文文本),但是如果我将p6文件导出为XML格式,则可以在c#中使用MPXJ获得正确的中文文本。有人有这样的经历吗?
Q2:如何使用 MPXJ 获取 P6 活动 ID?Task.ID 的返回类型是整数.. 但 P6 中的 ID 是字符串。当我打电话给 MPXJ 时,我得到了
ID:6//在XML中,它是"A1010",我怎样才能得到"A1010"?
示例 XML 片段
<Activity>
<ActualDuration>0</ActualDuration>
<ActualFinishDate xsi:nil="true" />
<ActualLaborCost>0</ActualLaborCost>
<ActualLaborUnits>0</ActualLaborUnits>
<ActualNonLaborCost>0</ActualNonLaborCost>
<ActualNonLaborUnits>0</ActualNonLaborUnits>
<ActualStartDate xsi:nil="true" />
<ActualThisPeriodLaborCost>0</ActualThisPeriodLaborCost>
<ActualThisPeriodLaborUnits>0</ActualThisPeriodLaborUnits>
<ActualThisPeriodNonLaborCost>0</ActualThisPeriodNonLaborCost>
<ActualThisPeriodNonLaborUnits>0</ActualThisPeriodNonLaborUnits>
<AtCompletionDuration>8</AtCompletionDuration>
<AtCompletionExpenseCost>0</AtCompletionExpenseCost>
<AtCompletionLaborCost>0</AtCompletionLaborCost>
<AtCompletionLaborUnits>0</AtCompletionLaborUnits>
<AtCompletionNonLaborCost>0</AtCompletionNonLaborCost>
<AtCompletionNonLaborUnits>0</AtCompletionNonLaborUnits>
<AutoComputeActuals>0</AutoComputeActuals>
<CalendarObjectId>178</CalendarObjectId>
<DurationPercentComplete>0</DurationPercentComplete>
<DurationType>Fixed Duration and Units</DurationType>
<ExpectedFinishDate xsi:nil="true" />
<ExternalEarlyStartDate xsi:nil="true" />
<ExternalLateFinishDate xsi:nil="true" />
<Feedback />
<FinishDate>2016-01-18T16:00:00</FinishDate>
<GUID>{255EF498-16AB-5041-B86B-F6F027FB3DF0}</GUID>
<Id>A1010</Id>
<IsNewFeedback>0</IsNewFeedback>
<LevelingPriority>Normal</LevelingPriority>
<Name>使用教學語系整合</Name>
<NonLaborUnitsPercentComplete>0</NonLaborUnitsPercentComplete>
<NotesToResources />
<ObjectId>101718</ObjectId>
<PercentComplete>0</PercentComplete>
<PercentCompleteType>Duration</PercentCompleteType>
<PhysicalPercentComplete>0</PhysicalPercentComplete>
<PlannedDuration>8</PlannedDuration>
<PlannedFinishDate>2016-01-18T16:00:00</PlannedFinishDate>
<PlannedLaborCost>0</PlannedLaborCost>
<PlannedLaborUnits>0</PlannedLaborUnits>
<PlannedNonLaborCost>0</PlannedNonLaborCost>
<PlannedNonLaborUnits>0</PlannedNonLaborUnits>
<PlannedStartDate>2016-01-18T08:00:00</PlannedStartDate>
<PrimaryConstraintDate xsi:nil="true" />
<PrimaryConstraintType />
<PrimaryResourceObjectId xsi:nil="true" />
<ProjectObjectId>4508</ProjectObjectId>
<RemainingDuration>8</RemainingDuration>
<RemainingEarlyFinishDate>2016-01-18T16:00:00</RemainingEarlyFinishDate>
<RemainingEarlyStartDate>2016-01-18T08:00:00</RemainingEarlyStartDate>
<RemainingLaborCost>0</RemainingLaborCost>
<RemainingLaborUnits>0</RemainingLaborUnits>
<RemainingLateFinishDate xsi:nil="true" />
<RemainingLateStartDate xsi:nil="true" />
<RemainingNonLaborCost>0</RemainingNonLaborCost>
<RemainingNonLaborUnits>0</RemainingNonLaborUnits>
<ResumeDate xsi:nil="true" />
<ReviewStatus>OK</ReviewStatus>
<SecondaryConstraintDate xsi:nil="true" />
<SecondaryConstraintType />
<StartDate>2016-01-18T08:00:00</StartDate>
<Status>Not Started</Status>
<SuspendDate xsi:nil="true" />
<Type>Task Dependent</Type>
<UnitsPercentComplete>0</UnitsPercentComplete>
<WBSObjectId>26012</WBSObjectId>
</Activity>
请参阅我上面关于报告读取任务名称时的错误的评论。为了回答第二个问题,活动 ID 映射到任务的 Text1
属性中:task.getText(1)
应该得到你想要的东西。