如何在Java中将NCPDP标准格式消息转换为xml格式?

时间:2016-10-03 09:27:19

标签: javascript java xml mirth

我试图找到,是否有可用的库将NCPDP格式的消息转换为java格式的XML格式?在Mirth Connect工具中,可以使用以下行直接选择将NCPDP转换为XML:

var serializationProperties = SerializerFactory.getDefaultSerializationProperties('NCPDP');
SerializerFactory.getSerializer('NCPDP', serializationProperties, null).toXML(ncpdpmessage);

和Mirth Connect提供此功能,因此他们在后端使用一些api或库将NCPDP转换为XML。我想做同样的事,但在java。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

Mirth Connect使用自己的NCPDP序列化器实现。您可以在\ extensions \ datatype-ncpdp文件夹中的datatype-ncpdp-shared.jar中找到它。

简而言之,NCPDPSerializer.toXml()代码执行以下操作:

NCPDPReader ncpdpReader = new NCPDPReader(serializationSegmentDelimiter, serializationGroupDelimiter, serializationFieldDelimiter);
StringWriter stringWriter = new StringWriter();
XMLPrettyPrinter serializer = new XMLPrettyPrinter(stringWriter);
ncpdpReader.setContentHandler(serializer);
ncpdpReader.parse(new InputSource(new StringReader(source)));
return stringWriter.toString();

因此,如果您想要使用相同的,您可能需要所有其他相关的Mirth库。由于NCPDPReader扩展了SAXParser并且不依赖于任何其他Mirth包,您可以尝试基于此构建自己的库。 (在开始之前检查版权和许可证说明。) 您也可以尝试查找其他NCPDP Java解析器,例如JParser。