2017-06-15 39 views
0

我使用fhir-net-api庫找到here將FHIR消息從JSON轉換爲XML。生成的XML有一個名爲http://hl7.org/fhir/的名稱空間,這似乎是該庫所使用的默認名稱。有沒有一種方法可以在使用此庫序列化XML時控制名稱空間。我知道我可以單獨更改XML名稱空間,但一步完成將會很好。當序列化爲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。通常將這個 指定爲根元素上的默認名稱空間。

這就是爲什麼FhirSerializer在序列化爲XML時包含此名稱空間的原因。你不能改變這種行爲,所以如果你真的需要(問題:爲什麼?),你需要在序列化後改變它。

+0

感謝您的迴應,我會在序列化後進行更改。我正在使用biztalk,並且需要在不同命名空間中具有相同消息的兩個版本,其中一個與信封架構辯論,另一個不包含。對兩者使用相同的消息可能是可能的,但它變得複雜。 – David