Create a new navigating parser (JsonDomFhirNavigator.Create()), and then use one of the Parse() overloads taking IElementNavigator
var fhirNav = JsonDomFhirNavigator.Create(json);
JsonTextReader reader = new JsonTextReader(new System.IO.StreamReader(@"MyObservation.json"));
var parser = new FhirJsonParser();
var obs = parser.Parse<Observation>(reader);
var xmlText = new FhirXmlSerializer().SerializeToString(obs);
var fhirPArser = new FhirJsonParser(); var operation = msgReceived.Context.GetPropertyValue(Constants.ContextProperties.BizTalkSystem.PropertyNames.Operation); Type type; Base fhirObject; switch (operation.ToString()) { case "Bundle": fhirObject = fhirPArser.Parse(json, typeof(Bundle)); break; default: fhirObject = fhirPArser.Parse(json, typeof(Bundle)); break; } //ResourceReader resourceReader = new ResourceReader(fhir, new ParserSettings());
//Use FHIR-NET-API to serialize the resource to XML var xmlSerializer = new FhirXmlSerializer();
byte[] resourceXmlBytesNew = xmlSerializer.SerializeToBytes(fhirObject);
//Create the new BizTalk message var memoryStream = new MemoryStream(); memoryStream.Write(resourceXmlBytesNew, 0, resourceXmlBytesNew.Length); memoryStream.Position = 0; msgReceived.BodyPart.Data = memoryStream;