2017-06-15 5 views
0

fhir-net-apiライブラリのhereを使用して、FHIRメッセージをJSONからXMLに変換しています。結果として得られるXMLの名前空間はhttp://hl7.org/fhir/で、これはライブラリによって使用されるデフォルトのようです。このライブラリを使用してXMLにシリアライズするときに名前空間を制御する方法はありますか?私はXML名前空間を別々に変更できることを知っていますが、1つのステップで行うのがうれしいでしょう。XMLへのシリアライズ時のデフォルトネームスペースの変更fhir-net-api

var b = new 
      Hl7.Fhir.Serialization.ResourceReader(
      FhirJsonParser.CreateFhirReader(json), 
         ParserSettings.Default).Deserialize(); 

     return Hl7.Fhir.Serialization.FhirSerializer.SerializeResourceToXml(b).ToString(); 

答えて

1

FHIR仕様によると、FHIR資源のXML representationためのルールの一つは次のとおりです。

FHIR要素は、名前空間http://hl7.org/fhirに常にあります。この は、通常、ルート要素のデフォルト名前空間として指定されます。

XMLにシリアル化するときにFhirSerializerにこの名前空間が含まれているのはそのためです。その動作を変更することはできませんので、本当に必要な場合(質問:なぜですか?)、シリアライズ後に変更する必要があります。

+0

応答いただきありがとうございます、私はシリアル化の後に変更を行います。私はbiztalkを使用しています。異なる名前空間に同じメッセージの2つのバージョンを用意する必要があります.1つはエンベロープスキーマで討論し、もう1つはそうでないものです。両方に同じメッセージを使用するのはおそらく可能ですが、複雑になります。 – David

関連する問題