首页 > 解决方案 > 如何正确地将任务持续时间从 xml 导入到 MS Project 2013?

问题描述

有人可以给我一个可以导入到 MS Project 的 XML 文件的示例,该文件将包含在一段时间内计划的一项任务和一项资源?我目前有以下 XML,MS Project 导入它没有任何错误,但日程安排变得一团糟。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Project xmlns="http://schemas.microsoft.com/project">
     <SaveVersion>14</SaveVersion>
     <Name>Projekt1.xml</Name>
     <ScheduleFromStart>1</ScheduleFromStart>
     <Tasks>
          <Task>
               <UID>1</UID>
               <ID>1</ID>
               <Name>Test task</Name>
               <Active>1</Active>
               <Manual>0</Manual>
               <Type>0</Type>
               <Start>2018-06-21T09:00:00</Start>
               <Finish>2018-07-06T18:00:00</Finish>
          </Task>
     </Tasks>
     <Resources>
          <Resource>
              <UID>0</UID>
              <ID>0</ID>
              <Type>1</Type>
          </Resource>
          <Resource>
              <UID>1</UID>
              <ID>1</ID>
              <Name>Test resource</Name>
              <Type>1</Type>
          </Resource>
      </Resources>
      <Assignments>
          <Assignment>
              <UID>2</UID>
              <TaskUID>1</TaskUID>
              <ResourceUID>1</ResourceUID>
          </Assignment>
     </Assignments>
</Project>

当我将此导入 MS Project 时,它不会从任务中导入开始和完成日期,并将持续时间设置为“0 天?”。

这是为什么?是否缺少某些内容(可能是日历的定义或任务或资源分配的一些附加属性?)

非常感谢您的帮助!

标签: xmlimportms-project

解决方案


这是适合您的最小工作文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Project xmlns="http://schemas.microsoft.com/project">
    <ScheduleFromStart>1</ScheduleFromStart>
    <StartDate>2018-06-21T08:00:00</StartDate>
    <ProjectExternallyEdited>0</ProjectExternallyEdited>

    <Tasks>
        <Task>
            <UID>1</UID>
            <ID>1</ID>
            <Name>Test task</Name>
            <IsNull>0</IsNull>
            <OutlineLevel>1</OutlineLevel>
            <Start>2018-06-21T08:00:00</Start>
            <Finish>2018-07-06T17:00:00</Finish>
            <Duration>PT96H0M0S</Duration>
            <DurationFormat>7</DurationFormat>
            <Work>PT96H0M0S</Work>
            <RemainingWork>PT96H0M0S</RemainingWork>
        </Task>
    </Tasks>

    <Resources>
        <Resource>
            <UID>1</UID>
            <ID>1</ID>
            <Name>Test Resource</Name>
            <Type>1</Type>
        </Resource>
    </Resources>

    <Assignments>
        <Assignment>
            <TaskUID>1</TaskUID>
            <ResourceUID>1</ResourceUID>
            <RemainingWork>PT96H0M0S</RemainingWork>
            <Work>PT96H0M0S</Work>
        </Assignment>
    </Assignments>
</Project>

MS Project 可以非常具体地说明它希望在 XML 文件中看到什么以获得您想要的结果。需要一些奇怪的设置(例如,ProjectExternallyEditedIsNull),但主要区别在于我已经指定了任务和资源分配的工作量。

如果您以编程方式生成此文件,您可能会发现MPXJ很有帮助。


推荐阅读