Hl7.Fhir Удалить расширение - PullRequest
0 голосов
/ 19 апреля 2019

Пустые атрибуты значений недопустимы, поэтому нам нужно удалить URL, но я не уверен, что это лучший способ сделать это в коде?

Могу ли я просто использовать 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>

1 Ответ

0 голосов
/ 20 апреля 2019

Для пояснения мы говорим здесь о библиотеке .Net FHIR, которая имеет метод RemoveExtension.

Ответ: нет, вы не можете просто использовать этот метод, чтобы избавиться от любого пустого элемента с именем url.
RemoveExtension можно использовать для удаления расширения из объекта, предоставив методу канонический URL-адрес расширения, которое вы хотите удалить.

См. http://hl7.org/fhir/extensibility.html для получения дополнительной информации о расширениях.

Библиотека .Net FHIR не будет сериализовать пустые элементы, если вы используете сериализатор библиотеки, поэтому, когда значение RelatedArtifact.Url пустое, уже должно быть достаточно. Поэтому лучший способ сделать это в коде - это использовать FhirXmlSerializer. Если вы обнаружите, что это приводит к недопустимому файлу FHIR xml, пожалуйста, поднимите проблему с объяснением того, что вы пробовали на Github fhir-net-api .

...