您能否在这里看看我的答案:
Parsing an IDoc in XML format using SAP Java IDoc Class Library?
我认为这也应该在这里回答您的问题。如果您的软件没有与 SAP 应用服务器的任何 RFC 连接,我只能劝阻您使用SAP JCo和 Java IDoc 类库插件。在这种情况下,它们不会提供任何好处。
为解析而进行的 IDoc-XML 解析没有意义,因此这取决于您使用此解析的目标。如果您只想确保 XML 有效且格式正确,则可以为此使用任何标准 XML 解析器。任何其他 XML 解析器也会创建一些 Java 对象——至少是java.lang.String
对象。但是,如果您想要获取 Java 类型的对象,com.sap.conn.idoc.IDocDocument
因为您打算在之后使用它提供的方便的导航、访问器或修饰符方法,那么 IDoc-XML 解析器需要访问额外的 IDoc 元数据(IDoc-XML本身不提供)用于创建这些类型的对象。
如果您的意图不仅是检查 IDoc-XML 的 XML 有效性和格式是否正确,而且还符合 SAP 的 IDoc-XML 规范,恐怕 SAP Java IDoc 类库IDocXMLProcessor
和 IDocXMLParser 不能用于此类一个单独的任务,在这种情况下你真的必须编写自己的解析器。
顺便说一句,您还可以查看SAP Business Connector,它提供了用于处理 IDoc 和 IDoc-XML 的适当 API。当然,这是一个在各个系统之间交换业务数据的集成平台,没有开发库可以包含在自己的Java应用项目中。但我认为,人们可以在那里轻松地开发工作流程,这将涵盖您问题中所需的功能。我不知道它是否适合您的一般项目要求,所以这只是另一种想法,采用不同的路径。