Java 如何从835 EDI文件中提取数据?

Java 如何从835 EDI文件中提取数据?,java,edi,smooks,x12,edifact,Java,Edi,Smooks,X12,Edifact,我有835个EDI文件 ISA*00* *00* *33*83876 *ZZ*B00482000 *190128*1100*^*00501*000000001*0*T*:~ ST*835*000000001~ BPR*H*0*C*NON************20190128~ TRN*1*PK673981180*141138499245*PS0087726~ REF*EV*B048499999800~ REF*F2*1083~ DTM*

我有835个EDI文件

ISA*00*          *00*          *33*83876          *ZZ*B00482000   *190128*1100*^*00501*000000001*0*T*:~
ST*835*000000001~
BPR*H*0*C*NON************20190128~
TRN*1*PK673981180*141138499245*PS0087726~
REF*EV*B048499999800~
REF*F2*1083~
DTM*405*20190128~
如何提取ST值,即00000000 1等

我尝试先使用SMOOKS将edi文件转换为XML格式,然后通过父节点和子节点检索数据

  public static void main(String[] args) throws SmooksException, Exception {
    String modelURI = "urn:org.milyn.edi.unedifact:d99a-mapping:1.4";
    UNEdifactInterchangeParser parser = new UNEdifactInterchangeParser();
 //   parser.addMappingModels(modelURI, new URI("/"));
    parser.setFeature(EDIParser.FEATURE_IGNORE_NEWLINES, true);
    SAXHandler handler = new SAXHandler();
    parser.setContentHandler(handler);
    parser.parse(new InputSource(new java.io.FileInputStream(
            "myEDIfile.edi")));
    Document doc = handler.getDocument();
    // Here you have your document
    new XMLOutputter(Format.getPrettyFormat()).output(doc, System.out);
}
但我犯了个错误 原因:org.xml.sax.SAXException:未知/意外的UN/EDIFACT控制块段代码“ISA”

如果有人能帮我找到可能的解决办法,那就太好了。
提前感谢。

请看一下X12解析器-它通常用于此类文件:

文件:


GitHub Repo:

看看X12解析器——它通常用于这样的文件:

文件:


GitHub Repo:

您正试图使用EDIFACT解析器解析X12 835


您需要使用相应的X12解析器,而不是使用EDIFACT解析器。

您正在尝试使用EDIFACT解析器解析X12 835


您需要使用相应的X12解析器,而不是unediparser。

查看edi-835-parser。它是我专门为分析EDI 835文件类型而编写的Python库,比使用x12解析器更“开箱即用”


GitHub Repo:。

看看edi-835-parser。它是我专门为分析EDI 835文件类型而编写的Python库,比使用x12解析器更“开箱即用”


GitHub Repo:。

X12Simple类不存在X12Simple类不存在我尝试过x12解析器,但X12Simple类不存在于API x12解析器中,如果您能在API部分帮助我一点的话,我确实尝试过x12解析器,但X12Simple类不存在于API x12解析器中,如果你能帮我一点API部分,那就太好了