点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我尝试将Adobe Print File的XML转换为ABAP结构。
目标是将pdf-xml传输到labelpoint2(热敏打印机的打印机语言-Datamax,Microplex-Printer)。 我从ABAP结构到Labelpoint2的转换类工作正常。
我的问题是,我必须以混合顺序处理
有时XML文件中仅包含一种类型的标记。 例如仅
如果对
此显示的XML的结果-示例:3次绘制和2次字段之后的未排序元素将被忽略。
我如何更改简单的转换才能使其运行?
我不知道。
请问有人可以帮助我解决此问题吗?
非常感谢。
以简单的形式,xml文件看起来就像变量lf_xml_file的内容。
这是完整的转换报告:
*&--------------------------------------------- ------------------------ * *&报告z_xml_test_st01 *&------------------------------------------------ --------------------- * *& *&------------------------------------------------ --------------------- * 报告z_xml_test_st01。
TYPES:类型为ts_draw, 文字TYPE char10, ts_draw的结尾。
类型:tt_draw带KEY文本的ts_draw类型标准表。
TYPES:类型为ts_field, 文字TYPE char10, ts_field的结尾。
类型:tt_field带有KEY文本的ts_field类型标准表。
TYPES:类型为ts_xml_data, t_draw类型tt_draw, t_field TYPE tt_field, ts_xml_data的结尾。 数据:lf_xml_file TYPE字符串。
数据:ls_xml_data类型ts_xml_data, lt_xml_content TYPE文件表, lf_anz_dat TYPE i, lo_xml_document类型参考cl_xml_document, lf_filename TYPE本地文件, lf_subrc TYPE sy-subrc, lf_xml_string TYPE xstring, lf_size TYPE sy-tabix。
* cl_gui_frontend_services => file_open_dialog( *导出* window_title ='选择XML文件' * default_filename ='c:\ users \ XXXXXXXXX \ Desktop \ zwn_test_st01.xml' * initial_directory ='C:\' *变化 * file_table = lt_xml_content * rc = lf_anz_dat *例外情况*其他= 5)。 ** lf_filename = lt_xml_content [1]。
** lo_xml_document = NEW#()。*
* lo_xml_document-> import_from_file( *出口 *文件名= lf_filename * 接收 * retcode = lf_subrc)。 * * lo_xml_document-> render_2_xstring( *重要 * retcode = lf_subrc *流= lf_xml_string * size = lf_size)。 * XML文件传输 lf_xml_file = | <模板> | 和 | <绘制> | 和 | <值> | 和 |1 | 和 | | 和 | | 和 | <绘制> | 和 | <值> | 和 |2 | 和 | | 和 | | 和 | <绘制> | 和 | <值> | 和 |3 | 和 | | 和 | | 和 || 和 | <值> | 和 | | 和 |1 | 和 | | 和 || 和 | <值> | 和 | | 和 * | <绘制> | 和 * | <值> | 和 * |2 | 和 | | 和 |4 | 和 * | | 和 * | | 和 * || 和 * | <值> | 和 * | | 和 * | <绘制> | 和 * | <值> | 和 * |3 | 和 * | | 和 * |5 | 和 * | | 和 * | | 和 | |。 尝试。 呼叫转换zwn_test_st01 *源XML lf_xml_string 源XML lf_xml_file 结果根= ls_xml_data。 捕获cx_st_error INTO DATA(l_error)。 ENDTRY。 BREAK-要点。
简单的转换文件如下:
当然,真正的转换看起来要复杂得多,具有大量可选标签和可选属性。
但是为了显示我的问题,这个简单的版本足够好:
<?sap.transform简单吗?> <模板> <绘制> <值> <文字> <字段> <值> <文字>
您好 Wolfgang Nitz ,
当尝试使用abap上载多个XML文件时,我也面临类似的问题。
如何检查可选标签?
如果您有上述任何解决方案,请您帮我吗?
我尝试如下:转换逻辑
附加的XML格式:
一周热门 更多>