C# 序列化为XML fhir net api时更改默认命名空间
我正在使用fhir net api库将fhir消息从JSON转换为XML。结果XML的名称空间似乎是库使用的默认名称空间。使用此库序列化为XML时,是否有方法控制命名空间。我知道我可以单独更改XML名称空间,但只需一步就可以了C# 序列化为XML fhir net api时更改默认命名空间,c#,xml,biztalk,hl7-fhir,dstu2-fhir,C#,Xml,Biztalk,Hl7 Fhir,Dstu2 Fhir,我正在使用fhir net api库将fhir消息从JSON转换为XML。结果XML的名称空间似乎是库使用的默认名称空间。使用此库序列化为XML时,是否有方法控制命名空间。我知道我可以单独更改XML名称空间,但只需一步就可以了 var b = new Hl7.Fhir.Serialization.ResourceReader( FhirJsonParser.CreateFhirReader(json), P
var b = new
Hl7.Fhir.Serialization.ResourceReader(
FhirJsonParser.CreateFhirReader(json),
ParserSettings.Default).Deserialize();
return Hl7.Fhir.Serialization.FhirSerializer.SerializeResourceToXml(b).ToString();
根据FHIR规范,FHIR资源的使用规则之一是: FHIR元素始终位于名称空间中。这 通常指定为根元素上的默认命名空间
这就是FhirSerializer在序列化为XML时包含此名称空间的原因。您无法更改该行为,因此,如果确实需要(问题:为什么?),则需要在序列化之后进行更改。感谢您的回复,我将在序列化之后进行更改。我正在使用biztalk,需要在不同的名称空间中具有相同消息的两个版本,一个版本与信封架构不兼容,另一个版本与信封架构不兼容。这两种方法可能使用相同的消息,但会变得复杂。