我试图找到,是否有可用的库将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中。
任何帮助表示赞赏。
最佳答案
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。
关于javascript - 如何在Java中将NCPDP标准格式消息转换为xml格式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39828379/