2016-01-20 37 views
0

MPXJ版本:5.1.17通過MPXJ爲C#讀取P6活動ID(.xer和xml)

Q1:如果我將p6文件導出到.xer。當我使用MPXJ讀取文件時,我得到了c#中的亂碼文本(最初是中文文本),但是如果我將p6文件導出爲XML格式,我可以在c#中使用MPXJ獲取正確的中文文本。有沒有人有這樣的經歷?

問題2:如何使用MPXJ獲得P6活動ID? Task.ID的返回類型是Integer ..但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> 
+0

如果您有兩個問題,您必須打開兩個不同的帖子 – acostela

+0

在閱讀XER文件時看起來像文件編碼問題。你能否在SourceForge頁面上打開一個bug並附上一個示例XER文件,我會看一看。 –

+0

@Jonlles好的,我已將它報告給[(https://sourceforge.net/p/mpxj/bugs/287/](https://sourceforge.net/p/mpxj/bugs/287/),謝謝〜 –

回答

0

見上面關於報告這個錯誤在閱讀任務名稱我的意見。要回答第二個問題,活動ID將映射到該任務的Text1屬性中:task.getText(1)應該爲您提供所需的內容。