[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: R: Reading XML with &Amp; as part of string
Hi Hendrik, Mike and Scott
Thanks for the ideas.
Hendrik, I rewrote my applications using the HTTPAPI like you suggested
yesterday and its perfect. All the special characters are replaced like
we want.
Thanks for the help.
Derick Venter
Applications Developer IV
[cid:_4_078F4D98078F4998001F530442257C1D]
Systems Integration
Tel: +27 (13) 247 2816 Fax: +27 (0) 86 573 2274
Cell: +27 (0) 83 458 6599
Email: [1]derick.venter@xxxxxxxxxx
[2]www.gijima.com
From: Henrik Rützou <hr@xxxxxxxxxxxx>
To: HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
Date: 2013/11/07 02:00 PM
Subject: Re: R: Reading XML with &Amp; as part of string
Sent by: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
__________________________________________________________________
Hi Derick,
It seems to me that you are doing too much work to read the SOAP
envelope.
Scott has a build in XML reader in HTTPAPI, why not use that. The
alternative is either to use XML-INTO or my free build in XMLreader()
in
powerEXT Core that work both as an include in the HTTPAPI program and
in a
"stand alone" environment with input typical from a file. They will all
handle the special XML decodings like & automatically.
Here is a simple example of how to read the XML
// load the xml either from storage or from a IFS file
dow xmlReader = 0;
select;
when xmlGetNode = `p1:routeProcessStep' and xmlGetAttr = `';
myvar = xmlGetData;
endsl;
enddo;
myvar will be "Num1 & Num2'
On Thu, Nov 7, 2013 at 9:36 AM, <Venter.Derick@xxxxxxxxxxxxxx> wrote:
> Hi Scott
> No I am not using the HTTPAPI's XML parser. We installed the
LIBEXPAT
> library from your web site and I am using the USERDATA.rpgle as an
> example for my program. (Sorry not the XPATH.rpgle as i mentioned
in my
> previous mail)
> It seems like it is reading the text after the &. If i print
the
> value to the spoolfile it prints an & and then on the next line
the
> rest of the text.
> eg:
> &
> Num2
> Here's the code to read the value from the tag:
> WHEN d.stack(d.depth) =
'/soapenv:Envelope/soapenv:Body'
>
> +'/p1:CorticonResponse/p1:WorkDocuments'
> +'/p1:Process'
> +'/p1:routeProcessStep';
> PrintMe = %TRIM(%char(val));
> Except Print;
> DoW %Scan(' & ': %TRIM(%char(val))) > *Zeros;
> val = %Replace('&' : %TRIM(%char(val))
> : %Scan(' & ': %TRIM(%char(val))): 7);
> EndDo;
> PrintMe = %TRIM(%char(val));
> Except Print;
> %OCCUR(PROCESSDATA) = d.procCnt;
> PROCESSDATA.RTEPROCSTEP = %TRIM(%char(val));
> Here's my xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> xmlns:soapenv="[1][3]http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="[2][4]http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="[3][5]http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <p1:CorticonResponse ccExeStart="1383656944646"
> ccExeStop="1383656944677" decisionServiceName="cascading"
> xmlns:p1="urn:Corticon">
> <p1:WorkDocuments
> xmlns:xsi="[4][6]http://www.w3.org/2001/XMLSchema-instance">
> <p1:Process id="HBCB20130822002338316B20130822002338318"
> newOrModified="true">
> <p1:lengthYieldFactor>0</p1:lengthYieldFactor>
> <p1:lineOperationMode>RECL</p1:lineOperationMode>
> <p1:overwindEntryCode>O</p1:overwindEntryCode>
> <p1:overwindExitCode>O</p1:overwindExitCode>
> <p1:pcpIndicator>true</p1:pcpIndicator>
> <p1:processCode>HBC</p1:processCode>
> <p1:routeProcessStep>Num1 & Num2</p1:routeProcessStep>
> <p1:trimmingYieldFactor>0</p1:trimmingYieldFactor>
> <p1:inProduct href="#B20130628002168289"/>
> <p1:outProduct href="#Product_id_1"/>
> <p1:workstation
> href="HBCAP1B20130822002338316B20130822002338318"/>
> </p1:Process>
> </p1:WorkDocuments>
> <p1:Messages version="1"/>
> </p1:CorticonResponse>
> </soapenv:Body>
> </soapenv:Envelope>
> Derick Venter
> Applications Developer IV
>
> [[7]cid:_4_098DBB8C098DB78C002F47D142257C1C]
>
> Systems Integration
> Tel: +27 (13) 247 2816 Fax: +27 (0) 86 573 2274
> Cell: +27 (0) 83 458 6599
> Email: [5]derick.venter@xxxxxxxxxx
> [6][8]www.gijima.com
> From: Scott Klement <sk@xxxxxxxxxxxxxxxx>
> To: HTTPAPI and FTPAPI Projects
<ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
> Date: 2013/11/06 05:09 PM
> Subject: Re: R: Reading XML with &Amp; as part of string
> Sent by: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>
__________________________________________________________________
>
> So you are not using HTTPAPI's XML parser?!
> On 11/6/2013 8:12 AM, Venter.Derick@xxxxxxxxxxxxxx wrote:
> > The replacement of & with & works with plain RPG code
using a
> > string value.
> > The problem is that the reader of the xml field seems to
read
> &
> > correct but the rest of the string is thrown away.
> > When I print the value to the spool file, I see the
following:
> > &
> > the rest of my string.
> > Seems that the reader is adding a next line character.
> > I used Scott Klement's XPATH example to read through my XML
> document
> > and parse it.
> > Any ideas?
> > Derick Venter
> > Applications Developer IV---
>
-----------------------------------------------------------------------
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> [7][9]http://www.scottklement.com/mailman/listinfo/ftpapi
>
-----------------------------------------------------------------------
>
__________________________________________________________________
>
> This e-mail is subject to the Columbus Stainless [Pty] Ltd Email
Legal
> Notices available at:
> [8][10]http://www.columbus.co.za/EmailLegalNotice.htm.
>
__________________________________________________________________
>
> This e-mail message has been scanned for Viruses and Content and
> cleared by MailMarshal
>
__________________________________________________________________
>
> References
>
> 1. [11]http://schemas.xmlsoap.org/soap/envelope/
> 2. [12]http://www.w3.org/2001/XMLSchema
> 3. [13]http://www.w3.org/2001/XMLSchema-instance
> 4. [14]http://www.w3.org/2001/XMLSchema-instance
> 5. [15]mailto:derick.venter@xxxxxxxxxx
> 6. [16]http://www.gijima.com/
> 7. [17]http://www.scottklement.com/mailman/listinfo/ftpapi
> 8. [18]http://www.columbus.co.za/EmailLegalNotice.htm
>
>
-----------------------------------------------------------------------
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> [19]http://www.scottklement.com/mailman/listinfo/ftpapi
>
-----------------------------------------------------------------------
>
>
--
Regards,
Henrik Rützou
[20]http://powerEXT.com <[21]http://powerext.com/>
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
[22]http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
__________________________________________________________________
This e-mail is subject to the Columbus Stainless [Pty] Ltd Email Legal
Notices available at:
[23]http://www.columbus.co.za/EmailLegalNotice.htm.
__________________________________________________________________
This e-mail message has been scanned for Viruses and Content and
cleared by MailMarshal
__________________________________________________________________
References
1. mailto:derick.venter@xxxxxxxxxx
2. http://www.gijima.com/
3. http://schemas.xmlsoap.org/soap/envelope/
4. http://www.w3.org/2001/XMLSchema
5. http://www.w3.org/2001/XMLSchema-instance
6. http://www.w3.org/2001/XMLSchema-instance
7. cid:_4_098DBB8C098DB78C002F47D142257C1C
8. file://localhost/tmp/www.gijima.com
9. http://www.scottklement.com/mailman/listinfo/ftpapi
10. http://www.columbus.co.za/EmailLegalNotice.htm
11. http://schemas.xmlsoap.org/soap/envelope/
12. http://www.w3.org/2001/XMLSchema
13. http://www.w3.org/2001/XMLSchema-instance
14. http://www.w3.org/2001/XMLSchema-instance
15. mailto:derick.venter@xxxxxxxxxx
16. http://www.gijima.com/
17. http://www.scottklement.com/mailman/listinfo/ftpapi
18. http://www.columbus.co.za/EmailLegalNotice.htm
19. http://www.scottklement.com/mailman/listinfo/ftpapi
20. http://powerext.com/
21. http://powerext.com/
22. http://www.scottklement.com/mailman/listinfo/ftpapi
23. http://www.columbus.co.za/EmailLegalNotice.htm
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------