[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: R: Reading XML with &Amp; as part of string
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 �and alone�nvironment 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 = �:routeProcessStep�nd xmlGetAttr = �
����� myvar = xmlGetData;
� endsl;
enddo;
�
myvar will be �m1 & Num2�
On Thu, Nov 7, 2013 at 9:36 AM, <[1]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][2]http://schemas.xmlsoap.org/soap/envelope/"
� �xmlns:xsd="[2][3]http://www.w3.org/2001/XMLSchema"
� �xmlns:xsi="[3][4]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][5]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
� �[cid:_4_098DBB8C098DB78C002F47D142257C1C]
� �Systems Integration
� �Tel: [6]+27 (13) 247 2816 Fax: [7]+27 (0) 86 573 2274
� �Cell: [8]+27 (0) 83 458 6599
� �Email: [5][9]derick.venter@xxxxxxxxxx
� �[6][10]www.gijima.com
� �From: � � � �Scott Klement <[11]sk@xxxxxxxxxxxxxxxx>
� �To: � � � �HTTPAPI and FTPAPI Projects
<[12]ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
� �Date: � � � �2013/11/06 05:09 PM
� �Subject: � � � �Re: R: Reading XML with &Amp; as part of
string
� �Sent by: � � � �[13]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
� � �__________________________________________________________________
� �So you are not using HTTPAPI's XML parser?!
� �On 11/6/2013 8:12 AM, [14]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][15]http://www.scottklement.com/mailman/listinfo/ftpapi
� �---------------------------------------------------------------------
--
� � �__________________________________________________________________
� �This e-mail is subject to the Columbus Stainless [Pty] Ltd Email
Legal
� �Notices available at:
� �[8][16]http://www.columbus.co.za/EmailLegalNotice.htm.
� � �__________________________________________________________________
� �This e-mail message has been scanned for Viruses and Content and
� �cleared by MailMarshal
� � �__________________________________________________________________
References
� �1. [17]http://schemas.xmlsoap.org/soap/envelope/
� �2. [18]http://www.w3.org/2001/XMLSchema
� �3. [19]http://www.w3.org/2001/XMLSchema-instance
� �4. [20]http://www.w3.org/2001/XMLSchema-instance
� �5. mailto:[21]derick.venter@xxxxxxxxxx
� �6. [22]http://www.gijima.com/
� �7. [23]http://www.scottklement.com/mailman/listinfo/ftpapi
� �8. [24]http://www.columbus.co.za/EmailLegalNotice.htm
--------------------------------------------------------------------
---
This is the FTPAPI mailing list. �To unsubscribe, please go to:
[25]http://www.scottklement.com/mailman/listinfo/ftpapi
--------------------------------------------------------------------
---
--
Regards,
Henrik Rützou
� [26]http://powerEXT.com
�
References
1. mailto:Venter.Derick@xxxxxxxxxxxxxx
2. http://schemas.xmlsoap.org/soap/envelope/
3. http://www.w3.org/2001/XMLSchema
4. http://www.w3.org/2001/XMLSchema-instance
5. http://www.w3.org/2001/XMLSchema-instance
6. tel:%2B27%20%2813%29%20247%202816
7. tel:%2B27%20%280%29%2086%20573%202274
8. tel:%2B27%20%280%29%2083%20458%206599
9. mailto:derick.venter@xxxxxxxxxx
10. http://www.gijima.com/
11. mailto:sk@xxxxxxxxxxxxxxxx
12. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
13. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
14. mailto:Venter.Derick@xxxxxxxxxxxxxx
15. http://www.scottklement.com/mailman/listinfo/ftpapi
16. http://www.columbus.co.za/EmailLegalNotice.htm
17. http://schemas.xmlsoap.org/soap/envelope/
18. http://www.w3.org/2001/XMLSchema
19. http://www.w3.org/2001/XMLSchema-instance
20. http://www.w3.org/2001/XMLSchema-instance
21. mailto:derick.venter@xxxxxxxxxx
22. http://www.gijima.com/
23. http://www.scottklement.com/mailman/listinfo/ftpapi
24. http://www.columbus.co.za/EmailLegalNotice.htm
25. http://www.scottklement.com/mailman/listinfo/ftpapi
26. http://powerext.com/
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------