XML handling in REXX or JCL

前端 未结 3 653
执念已碎
执念已碎 2021-01-29 10:03

In a PS file I have XML data as below:

For ex:

(


        
3条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-29 10:10

    tab = D2C(9)
    lf = D2C(10) /* line feed */
    
    /* Remove both tab and new line characters */
    input = CHANGESTR( tab, TRANSLATE( input, tab, lf ), '' )
    /* or */
    input = CHANGESTR( tab, input, '' )
    /* to remove only new line characters */
    

    STRIP only remove leading and/or trailing characters.

    Use D2C(13)D2C(10) if the file use carriage return line feed instead just line feed.

    The code replace all new line characters with tab and then remove all tab characters as it's easier to parse the code then. I've written a kml2csv parser in rexx that can handle google kmz/kml files.

    The OS/2 Classic REXX implementation doesn't contain CHANGESTR. A rexx only solution is very slow for large files, but a C/C++ rexx dll is easy to code (I've written one for that specific purpose) that does the job for large KML-files. Regina REXX and new implementations contain a CHANGESTR-function, but you need to specify a parameter for "new needle" even if it is empty.

提交回复
热议问题