【问题标题】:Change default namespace when Serializing to XML fhir-net-api序列化为 XML fhir-net-api 时更改默认命名空间
【发布时间】:2017-11-18 13:42:04
【问题描述】:

我正在使用找到 here 的 fhir-net-api 库将 FHIR 消息从 JSON 转换为 XML。生成的 XML 具有 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();

【问题讨论】:

    标签: c# xml biztalk hl7-fhir dstu2-fhir


    【解决方案1】:

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

    FHIR 元素始终位于命名空间 http://hl7.org/fhir 中。这 通常被指定为根元素上的默认命名空间。

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

    【讨论】:

    • 感谢您的回复,我会在序列化后进行更改。我正在使用 biztalk,并且需要在不同的命名空间中拥有同一消息的两个版本,一个使用信封模式进行分批,一个没有。可能对两者使用相同的消息,但它会变得复杂。
    猜你喜欢
    • 2020-11-24
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多