序列化为 XML fhir-net-api 时更改默认命名空间

Change default namespace when Serializing to XML fhir-net-api

我正在使用找到的 fhir-net-api 库 here to transform FHIR messages from JSON to XML. The resulting XML has a namespace of http://hl7.org/fhir/,这似乎是该库默认使用的。使用此库序列化为 XML 时,有没有办法控制命名空间。我知道我可以单独更改 XML 命名空间,但最好一步完成。

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

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

根据FHIR规范,FHIR资源XML representation的规则之一是:

FHIR elements are always in the namespace http://hl7.org/fhir . This is usually specified as the default namespace on the root element.

这就是 FhirSerializer 在序列化到 XML 时包含此命名空间的原因。你无法改变这种行为,所以如果你真的需要(问题:为什么?),你需要在序列化后改变它。