[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 &amp;. 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(' &amp; ': %TRIM(%char(val))) >
     *Zeros;
     � � � � � � � � � �val = %Replace('&' : %TRIM(%char(val))
     � � � � � � � � � �: %Scan(' &amp; ': %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 &amp;
     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 &amp; with & works with plain RPG code
   using a
   � �> � � string value.
   � �> � � The problem is that the reader of the xml field seems to
   read
   � �&amp;
   � �> � � 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
-----------------------------------------------------------------------