我的公司正在研究需要在SAP ABAP中读取XML文件的项目。在SAP ABAP中解析XML
- 当XML文件没有特定标签的数据时,它会忽略该数据。
- 一些标签自动关闭。例如<标记/ >
SAP开发人员说,要读取XML文档,他首先将文档解析为ABAP XML结构。此过程在第2点上失败。然后,他必须创建XSLT以将该数据转换为内部数据结构,并且在点1上失败,因此使得在ABAP内实现该任务非常困难。 这是绝对的情况,是否有没有办法阅读我们需要的特定领域?
我的公司正在研究需要在SAP ABAP中读取XML文件的项目。在SAP ABAP中解析XML
SAP开发人员说,要读取XML文档,他首先将文档解析为ABAP XML结构。此过程在第2点上失败。然后,他必须创建XSLT以将该数据转换为内部数据结构,并且在点1上失败,因此使得在ABAP内实现该任务非常困难。 这是绝对的情况,是否有没有办法阅读我们需要的特定领域?
开始在ABAP中使用XML解析的最佳位置是SAP XML Library。
尝试和编写自己的解析算法可能是一个非常糟糕的主意 - 让其他人(在这种情况下,SAP)为您辛苦工作。
您可以只读取文件(使用打开的数据集),然后使用字符串函数(如find)来解析XML。它的丑陋,可能是很多工作,但你绝对可以做到。
不,只是不会。它会失败,需要很长时间才能构建一个兼容的XML解析器,甚至SAP也为他们的解析器提供了OSS注释。 – tomdemuyt 2011-12-20 15:19:25
我建议你首先应用XSLT以将XML内容转换为ABAP处理器能够读取的表单。还有iXML(看一下示例程序BCCIIXML *),但它使用起来相当慢并且很麻烦......
有一个教程在heidoc.net/joomla/development-mainmenu-31/22-sap --xslt/15-sapxslt可能有所帮助,SDN(SAP Developer's Net)也有一些文章。我在http://help.sap.com/abapdocu/en/ABENST_ABEXA.htm
找到一些参考,只是谷歌它。
如果有人读这个博客奇事: 您可能能够使用一些检查与COND声明类似,可以这样开始:
tt:cond check="not-initial(
或
tt:cond using="exist(ref('$Styles'))"
我用它在EXCEL表单上进行简单转换。
子弹点2原来是红鲱鱼。 我仍然对第1点导致的错误没有信心。 – Steven 2009-11-23 16:10:46