MPP XML-მდე

MPP ფაილის XML კონვერტაცია | Microsoft Project ფაილის ექსპორტი XML-ში C#-ში

Microsoft Project არის პროექტის მართვის ერთ-ერთი ყველაზე პოპულარული და ფართოდ გავრცელებული პროგრამა. პროგრამული უზრუნველყოფა გაძლევთ საშუალებას დაგეგმოთ პროექტები, დაავალოთ ამოცანები, მართოთ რესურსები და სამუშაო პროცესები, შექმნათ ანგარიშები და ა.შ. თუმცა, MS Project არ იძლევა შესაძლებლობას გახსნათ ან დაარედაქტიროთ MPP ფორმატის ფაილი არარეგისტრირებული მომხმარებლებისთვის. ეს ნიშნავს, რომ თუ თქვენ არ გაქვთ შეძენილი Microsoft Project ლიცენზია, თქვენ არ შეგიძლიათ იმუშაოთ MPP ფაილებთან. ასე რომ, პროექტის ფაილების გაზიარებისას, მიმღებს უნდა ჰქონდეს MS Project გამოწერა, მაშინაც კი, თუ მას მხოლოდ მისი ნახვა სურს. ამიტომ, MPP ფაილის XML-ად გადაქცევა შეიძლება იყოს კარგი გამოსავალი.

Microsoft Project File Conversion API

Aspose.Tasks Cloud არის ჩვენი REST API, რომელიც გვთავაზობს ფუნქციებს პროექტის მართვის ფაილების შესაქმნელად, დამუშავებისა და გარდაქმნის სხვადასხვა მხარდაჭერილი ფაილის ფორმატებად. პროექტის ფაილის დასამუშავებლად, შეგიძლიათ ჩატვირთოთ ფაილი ღრუბლოვანი საცავიდან, პროექტის იმპორტი primavera DB ფორმატიდან (primavera SQLite.db ან primavera XML) და პროექტის იმპორტი მონაცემთა ბაზიდან მითითებული კავშირის სტრიქონით ან იმპორტი. Project Online-დან. ამ სტატიის ფარგლების მიხედვით, ჩვენ ვაპირებთ გამოვიყენოთ Aspose.Tasks Cloud SDK for .NET, რომელიც ხელმისაწვდომია ჩამოსატვირთად NuGet და GitHub-ზე. გთხოვთ, შეასრულოთ შემდეგი ბრძანება ტერმინალში, რათა დააინსტალიროთ SDK NuGet-ის საშუალებით:

nuget install Aspose.Tasks-Cloud

იმისათვის, რომ პირდაპირ დააინსტალიროთ SDK NuGet პაკეტის მენეჯერში, გთხოვთ შეასრულოთ შემდეგი ბრძანება:

 PM> Install-Package Aspose.Tasks-Cloud

ახლა ჩვენ უნდა შევქმნათ უფასო გამოწერის ანგარიში Aspose.Cloud dashboard-ის მონახულებით. გამოიყენეთ თქვენი GitHub ან Google ანგარიში უბრალოდ დარეგისტრირებისთვის ან დააწკაპუნეთ Create a new Account და მიიღეთ თქვენი კლიენტის სერთიფიკატები.

გადაიყვანეთ MPP XML-ში C#-ში

გთხოვთ, მიჰყვეთ ქვემოთ მითითებულ ნაბიჯებს კონვერტაციის ოპერაციის შესასრულებლად C# .NET-ის გამოყენებით

  • პირველ რიგში, ჩვენ უნდა შევქმნათ TasksApi ობიექტი, როდესაც არგუმენტებად გადავცემთ ClientSecret და ClientId დეტალებს.
  • მეორეც, ჩატვირთეთ MPP-ის შინაარსი FileStream ინსტანციაში
  • ახლა შექმენით PostCreateRequest კლასის ობიექტი, რომელიც მოითხოვს ფაილის სახელს და Stream ინსტანციას, რომელიც შეიცავს MPP კონტენტს.
  • დარეკეთ UploadFile(…) მეთოდს TasksApi, რათა ატვირთოთ ფაილი Cloud საცავში
  • შემდეგ შექმენით GetTaskDocumentWithFormatRequest კლასის ობიექტი
  • მიუთითეთ XML მნიშვნელობა ProjectFileFormat ჩამოთვლიდან და მიანიჭეთ მნიშვნელობა GetTaskDocumentWithFormatRequest ობიექტის Format თვისებას
  • ახლა გამოიძახეთ GetTaskDocumentWithFormat(…) მეთოდი კონვერტაციის ოპერაციის შესასრულებლად
  • ვინაიდან ბოლო ნაბიჯის გამომავალი შენახულია Stream-ის ინსტანციაში, ჩვენ უნდა გამოვიყენოთ File.Create ობიექტი ლოკალურ დისკზე გამოსავლის შესანახად. დეტალების ნახვა შესაძლებელია saveToDisk(..) მორგებულ მეთოდში.
// მიიღეთ ClientID https://dashboard.aspose.cloud/-დან
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;
    
    // თუ პარამეტრი მართალია, 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.mpp და Converted.xml-ზე.

MPP-დან XML-მდე cURL ბრძანებების გამოყენებით

cURL ბრძანებები უზრუნველყოფს შესანიშნავ მექანიზმს REST API-ებზე წვდომისთვის ბრძანების ხაზის ტერმინალის მეშვეობით. ვინაიდან Aspose.Tasks Cloud ასევე შემუშავებულია REST პრინციპების მიხედვით, ასე რომ, ჩვენ ასევე შეგვიძლია წვდომა API-ზე cURL ბრძანებების გამოყენებით. მაგრამ რადგან 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 ფაილი Cloud საცავში, გთხოვთ შეასრულოთ შემდეგი 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

დასკვნა

სტატიაში მოცემულია დეტალები, თუ როგორ უნდა გადაიყვანოთ Microsoft Project ფაილი XML-ში C# .NET კოდის ფრაგმენტის გამოყენებით. გარდა ამისა, გთხოვთ გაითვალისწინოთ, რომ ყველა ჩვენი Cloud SDK შემუშავებულია MIT ლიცენზიით, ამიტომ მათი სრული კოდის ნაწყვეტი შეიძლება ჩამოიტვირთოს GitHub-დან. თუ API-ს გამოყენებისას რაიმე პრობლემას წააწყდებით ან გაქვთ რაიმე დაკავშირებული შეკითხვა, გთხოვთ, მოგერიდებათ დაგვიკავშირდეთ [პროდუქტის უფასო მხარდაჭერის ფორუმის] მეშვეობით 11.

დაკავშირებული სტატიები

ჩვენ ასევე გირჩევთ ეწვიოთ შემდეგ ბმულებს მეტის გასაგებად