寻找将 XML 转换为 X12(270 - 医疗资格请求)然后将 X12 响应(271 - 资格响应)转换回 XML 的工具/库。这将嵌入到服务器应用程序中(将考虑任何目标语言)。我曾想过编写自己的 X12 解析器和生成器,但这个项目很可能会扩展到其他 X12 事务,我想找到一个可扩展的解决方案。
5 回答
我遇到了这个:OopFactory X12 Parser - https://x12parser.codeplex.com/releases/view/106524
极好的。源代码结构良好,一切都建立在第一次打开的基础上,甚至还有单元测试。
拉入我的项目,它转换了我尝试过的所有文件。
它包括一个可以工作的命令行 exe - 但作为一个 .Net 人,这个库确实令人印象深刻。
-更新-
简短的简短版本归结为如下内容:
var fstream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
var parser = new X12Parser();
var interchange = parser.ParseMultiple(fstream).First();
var x12Xml = interchange.Serialize();
我最终创建了自己的 XML <-> x12 转换工具。我遇到了一些商业产品(其中一个来自EtaSoft,值得一试,因为他们的文档很好),但最终本土解决方案的优势太大了。
我确实使用了X12::Parser中的配置文件作为 X12 解析器的基础,本质上将配置文件转换为代码,并消除了管理配置文件的开销和错误处理,这些配置文件在理论上几乎永远不会改变。
我可以说你应该不惜一切代价避免的一种产品是 EcMap。我现在在 EDI 部门工作了大约一年的经验,我可以说我很少看到一个应用程序的界面设计得更差(也许 Lotus Notes 除外)、更混乱的用户文档和绝对荒谬的许可计划。它本质上是按 CPU 授权的(CPU 是指核心,所以如果你有一个新的四核 CPU,你真的会很兴奋),根据我听到的最后一个报价,每个许可证超过 10K。
下面是使用pyx12写入 XML 文件的示例
import pyx12.x12n_document
fd_source = "/path/to/edi/file"
output_file = "result.xml"
with open(output_file, 'w') as fd_xml:
result = pyx12.x12n_document.x12n_document(param=param, src_file=fd_source,
fd_997=None, fd_html=None, fd_xmldoc=fd_xml, xslt_files=None)