MPP zu XML

MPP-Datei in XML konvertieren | Microsoft Project-Datei in C# in XML exportieren

Microsoft Project ist eine der beliebtesten und am weitesten verbreiteten Projektmanagement-Software. Mit der Software können Sie Projekte planen, Aufgaben zuweisen, Ressourcen und Arbeitsabläufe verwalten, Berichte erstellen usw. Allerdings bietet MS Project nicht registrierten Benutzern die Möglichkeit, die MPP-Formatdatei zu öffnen oder zu bearbeiten. Das bedeutet, dass Sie ohne eine erworbene Microsoft Project-Lizenz nicht mit MPP Dateien arbeiten können. Wenn Sie Projektdateien also freigeben, muss der Empfänger über ein MS Project-Abonnement verfügen, auch wenn er sie nur anzeigen möchte. Daher kann die Konvertierung der MPP-Datei in XML eine gute Lösung sein.

Microsoft Project-Dateikonvertierungs-API

Aspose.Tasks Cloud ist unsere REST-API, die Funktionen zum Erstellen, Verarbeiten und Konvertieren von Projektmanagementdateien in verschiedene unterstützte Dateiformate bietet. Um die Projektdatei zu verarbeiten, können Sie die Datei aus dem Cloud-Speicher laden, das Projekt im Primavera-DB-Format (Primavera SQLite.db oder Primavera XML) importieren und das Projekt mit einer angegebenen Verbindungszeichenfolge aus der Datenbank importieren oder das Projekt aus Project Online importieren. Im Rahmen dieses Artikels verwenden wir Aspose.Tasks Cloud SDK für .NET, das zum Download unter NuGet und GitHub verfügbar ist. Bitte führen Sie den folgenden Befehl im Terminal aus, um das SDK über NuGet zu installieren:

nuget install Aspose.Tasks-Cloud

Um das SDK direkt im NuGet-Paketmanager zu installieren, führen Sie bitte den folgenden Befehl aus:

 PM> Install-Package Aspose.Tasks-Cloud

Jetzt müssen wir ein kostenloses Abonnementkonto erstellen, indem wir das Aspose.Cloud-Dashboard besuchen. Verwenden Sie Ihr GitHub oder Google-Konto, um sich einfach anzumelden, oder klicken Sie auf Neues Konto erstellen und erhalten Sie Ihre Client-Anmeldeinformationen.

Konvertieren von MPP in XML in C#

Befolgen Sie die unten angegebenen Schritte, um den Konvertierungsvorgang mit C# .NET durchzuführen.

  • Zuerst müssen wir ein TasksApi Objekt erstellen und dabei ClientSecret und ClientId-Details als Argumente übergeben
  • Zweitens laden Sie den Inhalt von MPP in die FileStream-Instanz
  • Erstellen Sie nun ein Objekt der Klasse PostCreateRequest, das einen Dateinamen und eine Stream-Instanz mit MPP-Inhalten erfordert
  • Rufen Sie die UploadFile(…)-Methode von TasksApi auf, um eine Datei in den Cloud-Speicher hochzuladen
  • Erstellen Sie dann ein Objekt der Klasse GetTaskDocumentWithFormatRequest
  • Geben Sie den XML-Wert aus der ProjectFileFormat-Aufzählung an und weisen Sie den Wert der Format-Eigenschaft des GetTaskDocumentWithFormatRequest Objekts zu.
  • Rufen Sie nun die Methode GetTaskDocumentWithFormat(…) auf, um die Konvertierungsoperation durchzuführen
  • Da die Ausgabe des letzten Schritts in der Stream-Instanz gespeichert wird, müssen wir das File.Create Objekt verwenden, um die Ausgabe auf dem lokalen Laufwerk zu speichern. Die Details sind in der benutzerdefinierten Methode saveToDisk(..) zu sehen.
// Holen Sie sich die Client-ID von https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// TasksApi-Instanz erstellen
TasksApi tasksApi = new TasksApi(clientSecret, clientID);

// Geben Sie den MPP-Dateinamen ein
String inputFile = "Home move plan.mpp";
// resultierender XML-Dateiname
String resultant = "Converted.xml";

try
{

    // Lesen Sie das Projektdokument vom lokalen System in die Stream-Instanz
    using (var inputStream = new FileStream("C:\\Users\\shahbnay\\Downloads\\"+inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest("Home move plan.mpp", inputStream);
        // Datei in den Cloud-Speicher hochladen
        tasksApi.UploadFile(uploadFileRequest);
    }
   
    // MPP-Dateikonvertierungsanforderung erstellen
    var request = new GetTaskDocumentWithFormatRequest();
    
    // Geben Sie den MPP-Eingabenamen aus dem Cloud-Speicher an
    request.Name = inputFile;
    
    // XML als Ergebnisformat festlegen
    request.Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xml;
    
    // Wenn der Parameter true ist, werden HTML-Ressourcen als separate Dateien eingebunden und
    // zusammen mit der resultierenden HTML-Datei als ZIP-Paket zurückgegeben.
    request.ReturnAsZipArchive = false;
    
    // Durchführen einer Dokumentkonvertierung
    Stream response = tasksApi.GetTaskDocumentWithFormat(request);

    if (response != null)
    {
        Console.WriteLine("Successfully converted MPP to XML !");
    }
    
    // benutzerdefinierte Methode zum Speichern der resultierenden Datei auf dem lokalen Systemlaufwerk
    saveToDisk(response, "C:\\Users\\shahbnay\\Downloads\\" + resultant);
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// Methode zum Speichern des Stream-Inhalts als Dateiobjekt
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Die im obigen Beispiel verwendeten Beispieldateien finden Sie unter Home move plan.mpp und Converted.xml.

MPP zu XML mit cURL-Befehlen

Die cURL-Befehle bieten einen hervorragenden Mechanismus, um über das Befehlszeilenterminal auf REST-APIs zuzugreifen. Da Aspose.Tasks Cloud auch nach REST-Prinzipien entwickelt wurde, können wir auch mit cURL-Befehlen auf die API zugreifen. Da die APIs jedoch nur für autorisierte Personen zugänglich sind, müssen wir basierend auf den Angaben zu Client-ID und Client Secret ein JWT-Zugriffstoken erstellen. Führen Sie bitte den folgenden Befehl zur Generierung eines JWT-Zugriffstokens aus.

 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"

Um die MPP-Datei in den Cloud-Speicher hochzuladen, führen Sie bitte den folgenden cURL-Befehl aus.

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":{}}

Rufen Sie abschließend den folgenden Befehl auf, um die MPP-Konvertierung in das XML-Format durchzuführen und die Ausgabe auf dem lokalen Laufwerk (unter dem angegebenen Pfad) zu speichern.

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

Abschluss

Der Artikel enthält Einzelheiten zur Konvertierung der Microsoft Project-Datei in XML mithilfe des C# .NET-Codeausschnitts. Beachten Sie außerdem, dass alle unsere Cloud SDKs unter einer MIT-Lizenz entwickelt werden, sodass der vollständige Codeausschnitt von GitHub heruntergeladen werden kann. Falls bei der Verwendung der API Probleme auftreten oder Sie Fragen dazu haben, können Sie uns gerne über das Free Product Support Forum kontaktieren.

Verwandte Artikel

Wir empfehlen Ihnen auch, die folgenden Links zu besuchen, um mehr zu erfahren über