MPP에서 XML로

MPP 파일을 XML로 변환 | C#에서 Microsoft Project 파일을 XML로 내보내기

Microsoft Project는 가장 인기 있고 널리 퍼진 프로젝트 관리 소프트웨어 중 하나입니다. 이 소프트웨어를 사용하면 프로젝트를 계획하고, 작업을 할당하고, 리소스와 워크플로를 관리하고, 보고서를 만드는 등의 작업을 할 수 있습니다. 그러나 MS Project는 등록되지 않은 사용자에게 MPP 형식 파일을 열거나 편집할 수 있는 기회를 제공하지 않습니다. 즉, 구매한 Microsoft Project 라이선스가 없으면 MPP 파일로 작업할 수 없습니다. 따라서 프로젝트 파일을 공유할 때 수신자는 보기만 원하더라도 MS Project 구독이 있어야 합니다. 따라서 MPP 파일을 XML로 변환하는 것이 좋은 해결책이 될 수 있습니다.

Microsoft Project 파일 변환 API

Aspose.Tasks Cloud는 프로젝트 관리 파일을 다양한 지원되는 파일 형식으로 생성, 처리 및 변환하는 기능을 제공하는 REST API입니다. 프로젝트 파일을 처리하려면 클라우드 스토리지에서 파일을 로드하고, Primavera DB 형식(Primavera SQLite.db 또는 Primavera XML)에서 프로젝트를 가져오고, 지정된 연결 문자열을 사용하여 데이터베이스에서 프로젝트를 가져오거나 Project Online에서 프로젝트를 가져올 수 있습니다. 이 문서의 범위에 따라 NuGetGitHub에서 다운로드할 수 있는 Aspose.Tasks Cloud SDK for .NET을 사용할 것입니다. NuGet을 통해 SDK를 설치하려면 터미널에서 다음 명령을 실행하세요.

nuget install Aspose.Tasks-Cloud

NuGet 패키지 관리자에서 SDK를 직접 설치하려면 다음 명령을 실행하세요.

 PM> Install-Package Aspose.Tasks-Cloud

이제 Aspose.Cloud 대시보드를 방문하여 무료 구독 계정을 만들어야 합니다. GitHub 또는 Google 계정을 사용하여 간단히 가입하거나 새 계정 만들기를 클릭하고 클라이언트 자격 증명을 얻으세요.

C#에서 MPP를 XML로 변환

C# .NET을 사용하여 변환 작업을 수행하려면 아래에 지정된 단계를 따르십시오.

  • 먼저 ClientSecret 및 ClientId 세부 정보를 인수로 전달하면서 TasksApi 객체를 생성해야 합니다.
  • 둘째, MPP의 내용을 FileStream 인스턴스에 로드합니다.
  • 이제 MPP 콘텐츠를 포함하는 파일 이름과 Stream 인스턴스가 필요한 PostCreateRequest 클래스의 객체를 만듭니다.
  • TasksApi의 UploadFile(…) 메서드를 호출하여 클라우드 스토리지에 파일을 업로드합니다.
  • 그런 다음 GetTaskDocumentWithFormatRequest 클래스의 객체를 생성합니다.
  • ProjectFileFormat 열거형에서 XML 값을 지정하고 GetTaskDocumentWithFormatRequest 개체의 Format 속성에 값을 할당합니다.
  • 이제 GetTaskDocumentWithFormat(…) 메서드를 호출하여 변환 작업을 수행합니다.
  • 마지막 단계의 출력이 Stream 인스턴스에 저장되므로 File.Create 객체를 사용하여 로컬 드라이브에 출력을 저장해야 합니다. 자세한 내용은 saveToDisk(..) 사용자 정의 메서드에서 확인할 수 있습니다.
// https://dashboard.aspose.cloud/에서 ClientID를 가져옵니다.
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// TasksApi 인스턴스 생성
TasksApi tasksApi = new TasksApi(clientSecret, clientID);

// MPP 파일 이름을 입력하세요
String inputFile = "Home move plan.mpp";
// 결과 XML 파일 이름
String resultant = "Converted.xml";

try
{

    // 로컬 시스템에서 스트림 인스턴스로 프로젝트 문서를 읽습니다.
    using (var inputStream = new FileStream("C:\\Users\\shahbnay\\Downloads\\"+inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest("Home move plan.mpp", inputStream);
        // 클라우드 스토리지에 파일 업로드
        tasksApi.UploadFile(uploadFileRequest);
    }
   
    // MPP 파일 변환 요청 생성
    var request = new GetTaskDocumentWithFormatRequest();
    
    // 클라우드 스토리지에서 입력 MPP 이름을 지정하세요
    request.Name = inputFile;
    
    // 결과 형식으로 XML 설정
    request.Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xml;
    
    // 매개변수가 true이면 HTML 리소스가 별도의 파일로 포함됩니다.
    // 생성된 HTML 파일과 함께 zip 패키지로 반환됩니다.
    request.ReturnAsZipArchive = false;
    
    // 문서 변환 작업 수행
    Stream response = tasksApi.GetTaskDocumentWithFormat(request);

    if (response != null)
    {
        Console.WriteLine("Successfully converted MPP to XML !");
    }
    
    // 로컬 시스템 드라이브에 결과 파일을 저장하는 사용자 정의 방법
    saveToDisk(response, "C:\\Users\\shahbnay\\Downloads\\" + resultant);
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// 스트림 콘텐츠를 파일 객체로 저장하는 방법
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

위 예제에서 사용된 샘플 파일은 Home move plan.mppConverted.xml에서 찾을 수 있습니다.

cURL 명령을 사용한 MPP에서 XML로

cURL 명령은 명령줄 터미널을 통해 REST API에 액세스하는 훌륭한 메커니즘을 제공합니다. Aspose.Tasks Cloud도 REST 원칙에 따라 개발되었으므로 cURL 명령을 사용하여 API에 액세스할 수도 있습니다. 하지만 API는 권한이 있는 사람만 액세스할 수 있으므로 클라이언트 ID와 클라이언트 비밀 세부 정보를 기반으로 JWT 액세스 토큰을 만들어야 합니다. JWT 액세스 토큰을 생성하려면 다음 명령을 실행하세요.

 curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

MPP 파일을 클라우드 스토리지에 업로드하려면 다음 cURL 명령을 실행하세요.

curl -X PUT "https://api.aspose.cloud/v3.0/tasks/storage/file/Home%20move%20plan.mpp" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}

마지막으로, 다음 명령을 호출하여 MPP를 XML 형식으로 변환하고 로컬 드라이브(지정된 경로)에 출력을 저장합니다.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xml&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.xml

결론

이 기사에서는 C# .NET 코드 조각을 사용하여 Microsoft Project 파일을 XML로 변환하는 방법에 대한 세부 정보를 공유했습니다. 또한 모든 Cloud SDK는 MIT 라이선스에 따라 개발되었으므로 전체 코드 조각은 GitHub에서 다운로드할 수 있습니다. API를 사용하는 동안 문제가 발생하거나 관련 질문이 있는 경우 무료 제품 지원 포럼을 통해 언제든지 문의해 주십시오.

관련기사

또한 자세한 내용을 알아보려면 다음 링크를 방문하는 것이 좋습니다.