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

标签 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 中。

感谢任何帮助。

最佳答案

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/

相关文章:

javascript - Angular FormControl 模式验证器不适用于正则表达式

JavaScript 无法在 JSP 中正确生成 HTML

java - 尝试创建批处理文件来运行 Java 程序时无法找到或加载主类

php - 表单验证、php 和 javascript

php - 如何在 PHP 中使用简单的 xml 对象

javascript - 如何使用 JQuery UI Sortable 防止拖放时表行出现 "collapsing"?

javascript - jQuery AJAX 回调

java - 使用 AsyncTask 时无法从 HttpURLConnection.getResponseCode 接收值?

Java Quartz cron 表达式

c - 如何使用 libxml c 库获取 XML 中的属性?