Text Variable in XMLPort verarbeiten

15. November 2020 02:20

Ich möchte gern eine XML-Datei importieren von meiner AL-Extension aus.

Jetzt liegt diese, da das ja nicht mehr lokal bei mir auf dem Rechner läuft, nur als Text-Variable vor.

Weiß jemand wie ich eine Text Variable in Xmlport.Import(Xmlport::MyXmlPort, MEINE_TEXT_VARIABLE) bekomme?

Also irgendwie so einen Instream daraus mache?

Code:
// xmlInStream: InStream
// xmlText: Text

xmlText = getMyXmlText(); // contains the xml file as text

// Create valid instream?


Xmlport.Import(Xmlport::MyXmlPort, xmlInStream);

Re: Text Variable in XMLPort verarbeiten

16. November 2020 09:28

hi,

ich denke, da musst du ein wenig basteln

--> deinen Text in einen Outstream schreiben und dann den Outstream in TempBlob und dann kannst du darauf in den inStream konvertieren.

https://docs.microsoft.com/en-us/dynamics-nav/outstream-writetext-function

https://thatnavguy.wordpress.com/category/development/al/stream/

Re: Text Variable in XMLPort verarbeiten

26. November 2020 22:33

Das war eine perfekte Antwort, dein Plan hat wunderbar funktioniert!

Code:
// tmp: Codeunit "Temp Blob";
// xmlOutStream: OutStream;
// xmlInStream: InStream;

tmp.CreateOutStream(xmlOutStream);
xmlOutStream.WriteText(some_text);
tmp.CreateInStream(xmlInStream);

Re: Text Variable in XMLPort verarbeiten

27. November 2020 09:58

super - setzt du deinen Ursprungsbeitrag bitte noch auf [gelöst] ;)