Hl7.Fhir 删除扩展

Hl7.Fhir Remove Extension

不允许空值属性,因此我们需要删除 url 但我不确定在代码中执行此操作的最佳方法?

Can I just use RemoveExtension?

foreach (var RelatedArtifact in target.RelatedArtifact)
            {
                if (string.IsNullOrEmpty(RelatedArtifact.Url))
                {
                    RelatedArtifact.RemoveExtension("url");
                    //Remove URI tag

                }
            }

输出文件

<relatedArtifact>
    <type value="citation" />
    <display value="eeee, et al. eee. eee;ee(ee):eee." />
    <url value="" />
</relatedArtifact>

为了澄清,我们在这里讨论的是 .Net FHIR 库,它有一个 RemoveExtension 方法。

答案是:不,您不能只使用该方法来删除任何名为 url.
的空元素 RemoveExtension 可用于从对象中删除扩展,方法是为方法提供要删除的扩展的规范 url。

有关扩展的详细信息,请参阅 http://hl7.org/fhir/extensibility.html

如果您使用库的序列化程序,.Net FHIR 库将不会序列化空元素,因此 RelatedArtifact.Url 为空应该已经足够好了。 因此,在代码中执行此操作的最佳方法是使用 FhirXmlSerializer。如果您发现这会产生无效的 FHIR xml,请提出问题并解释您在 fhir-net-api Github.

上的尝试