MPP ל-XML

המרת קובץ MPP ל-XML | ייצוא קובץ Microsoft Project ל-XML ב-C#

Microsoft Project היא אחת מתוכנות ניהול הפרויקטים הפופולריות והנפוצות ביותר. התוכנה מאפשרת לך לתכנן פרויקטים, להקצות משימות, לנהל משאבים וזרימות עבודה, ליצור דוחות וכו’. עם זאת, MS Project אינה מספקת הזדמנות לפתוח או לערוך את הקובץ בפורמט MPP עבור משתמשים שאינם רשומים. המשמעות היא שאם אין לך רישיון רכש של Microsoft Project, לא תוכל לעבוד עם קבצי MPP. אז בעת שיתוף קבצי פרויקט, הנמען חייב להיות בעל מנוי MS Project גם אם הוא/הוא רק רוצה לצפות בו. לכן, המרה של קובץ MPP ל-XML יכולה להיות פתרון טוב.

ממשק API להמרת קבצי Microsoft Project

Aspose.Tasks Cloud הוא ה-REST API שלנו המציע את התכונות ליצירה, עיבוד כמו גם הפיכת קבצי ניהול פרויקטים למגוון פורמטי קבצים נתמכים. על מנת לעבד את קובץ הפרויקט, ניתן לטעון את הקובץ מאחסון ענן, לייבא את הפרויקט מפורמט primavera DB (primavera SQLite.db או primavera XML), ולייבא את הפרויקט ממסד הנתונים עם מחרוזת חיבור שצוינה או לייבא את הפרויקט מתוך Project Online. בהתאם להיקף המאמר הזה, אנו הולכים להשתמש ב-Aspose.Tasks Cloud SDK עבור .NET אשר זמין להורדה ב-NuGet ו-GitHub. אנא בצע את הפקודה הבאה בטרמינל כדי להתקין את ה-SDK דרך NuGet:

nuget install Aspose.Tasks-Cloud

על מנת להתקין ישירות את ה-SDK במנהל החבילות של NuGet, אנא בצע את הפקודה הבאה:

 PM> Install-Package Aspose.Tasks-Cloud

כעת עלינו ליצור חשבון מנוי בחינם על ידי ביקור במרכז השליטה של Aspose.Cloud. השתמש בחשבון GitHub או Google כדי פשוט להירשם או, לחץ על הלחצן צור חשבון חדש וקבל את אישורי הלקוח שלך.

המרת MPP ל-XML ב-C#

אנא בצע את השלבים המפורטים להלן כדי לבצע את פעולת ההמרה באמצעות C# .NET

  • ראשית, עלינו ליצור אובייקט TasksApi תוך העברת פרטי ClientSecret ו-ClientId כארגומנטים
  • שנית, טען את התוכן של MPP למופע FileStream
  • כעת צור אובייקט של מחלקה PostCreateRequest הדורש שם קובץ ומופע Stream המכילים תוכן MPP
  • התקשר לשיטת UploadFile(…) של TasksApi כדי להעלות קובץ לאחסון בענן
  • לאחר מכן, צור אובייקט של המחלקה GetTaskDocumentWithFormatRequest
  • ציין ערך XML מספירת ProjectFileFormat והקצה את הערך למאפיין Format של אובייקט GetTaskDocumentWithFormatRequest
  • כעת קרא לשיטת GetTaskDocumentWithFormat(…) כדי לבצע את פעולת ההמרה
  • מכיוון שהפלט של השלב האחרון נשמר במופע של Stream, עלינו להשתמש באובייקט File.Create כדי לשמור את הפלט בכונן המקומי. ניתן לראות את הפרטים בשיטה המותאמת אישית saveToDisk(..).
// קבל זיהוי לקוח מ-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 נגישים רק לאנשים מורשים, אז בהתבסס על זיהוי הלקוח ופרטי סוד הלקוח, עלינו ליצור אסימון גישה של 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

מַסְקָנָה

המאמר שיתף את הפרטים כיצד להמיר את קובץ Microsoft Project ל-XML באמצעות קטע הקוד C# .NET. יתר על כן, שים לב שכל ערכי הענן שלנו מפותחים תחת רישיון MIT, כך שניתן להוריד את קטע הקוד המלא שלהם מ-GitHub. במקרה שנתקלת בבעיות כלשהן במהלך השימוש בממשק ה-API או שיש לך שאילתות קשורות כלשהן, אל תהסס לפנות אלינו דרך פורום תמיכת המוצרים החינמי.

מאמרים קשורים

אנו ממליצים גם לבקר בקישורים הבאים כדי ללמוד עוד על