Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 序列化为XML fhir net api时更改默认命名空间_C#_Xml_Biztalk_Hl7 Fhir_Dstu2 Fhir - Fatal编程技术网

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

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

我正在使用fhir net api库将fhir消息从JSON转换为XML。结果XML的名称空间似乎是库使用的默认名称空间。使用此库序列化为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资源的使用规则之一是:

FHIR元素始终位于名称空间中。这 通常指定为根元素上的默认命名空间


这就是FhirSerializer在序列化为XML时包含此名称空间的原因。您无法更改该行为,因此,如果确实需要(问题:为什么?),则需要在序列化之后进行更改。

感谢您的回复,我将在序列化之后进行更改。我正在使用biztalk,需要在不同的名称空间中具有相同消息的两个版本,一个版本与信封架构不兼容,另一个版本与信封架构不兼容。这两种方法可能使用相同的消息,但会变得复杂。