FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour how to write this Line ?
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
how to write this Line ?
Posted: Thu Nov 27, 2025 10:38 AM

hi,

i try to read from XML File

 <ram:IssueDateTime>
   <udt:DateTimeString format="102">20240528</udt:DateTimeString>

using this

   REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, "<udt:DateTimeString format=ยด102ยด>", "</udt:DateTimeString>" ), 1, 8 ) )

but it give me only Error

how to write that Line ?

greeting,

Jimmy
Posts: 181
Joined: Thu Apr 17, 2008 02:38 PM
Re: how to write this Line ?
Posted: Thu Nov 27, 2025 12:06 PM

hi Jimmy,
try to semplify the expression :

   LOCAL dRet
   LOCAL xRet
   LOCAL cRet
   LOCAL c102

   c102 := "ยด102ยด"
   

   xRet := ExtractTag( cXml, "<udt:DateTimeString format=" + c102 + ">", "</udt:DateTimeString>" )
   

   cRet := SubStr( xRet, 1, 8 )
   

   dRet := Stod( cRet )

   REPLACE ISU_DATE WITH dRet

thanks

Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: how to write this Line ?
Posted: Thu Nov 27, 2025 02:26 PM

hi,

mauri.menabue wrote:

try to semplify the expression :

THX for help
nice Idee, but still NOT working :(

PROCEDURE ImportInvoice( cXmlFile )
   LOCAL cXml := MemoRead( cXmlFile )
   LOCAL CTAX
   LOCAL dRet
   LOCAL xRet
   LOCAL cRet
   LOCAL c102

   c102 := "ยด102ยด"
   // ------------------- Invoice Header -------------------
   USE INVOICE NEW exclusiv
   ZAP
   APPEND BLANK
   REPLACE INV_ID   WITH win_UuidCreateString()
   REPLACE INV_NUM  WITH ExtractTag( cXml, "<ram:ID>", "</ram:ID>" )
   *REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, ยด<udt:DateTimeString format="102">ยด, "</udt:DateTimeString>" ), 1, 8 ) )
   xRet := ExtractTag( cXml, "<udt:DateTimeString format=" + c102 + ">", "</udt:DateTimeString>" )
   cRet := SubStr( xRet, 1, 8 )
   dRet := Stod( cRet )
   REPLACE ISU_DATE WITH dRet

it must be this String :

<udt:DateTimeString format="102"

but it is this String :

<udt:DateTimeString format="ยด102ยด"

i have also try this :

 c102 := chr(34)+"102"+CHR(34)
   // ------------------- Invoice Header -------------------
   USE INVOICE NEW exclusiv
   ZAP
   APPEND BLANK
   

*   REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, "<udt:DateTimeString format=ยด102ยด>", "</udt:DateTimeString>" ), 1, 8 ) )
   xRet := ExtractTag( cXml, "<udt:DateTimeString format=" + c102 + ">", "</udt:DateTimeString>" )
   cRet := SubStr( xRet, 1, 8 )
   dRet := Stod( cRet )
   REPLACE ISU_DATE WITH dRet

but still dos NOT work :(

greeting,

Jimmy
Posts: 137
Joined: Mon Oct 22, 2012 04:43 PM
Re: how to write this Line ?
Posted: Thu Nov 27, 2025 04:29 PM
REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, [<udt:DateTimeString format="102">], [</udt:DateTimeString>] ), 1, 8 ) )

maybe

Regards



Ing. Anton Lerchster
Posts: 181
Joined: Thu Apr 17, 2008 02:38 PM
Re: how to write this Line ?
Posted: Thu Nov 27, 2025 10:59 PM

hi Jimmi,
is problem solved ?
if not try

   LOCAL dRet
   LOCAL xRet
   LOCAL cRet
   LOCAL cTagStart 
   LOCAL cTagEnd  

   cTagStart := '<udt:DateTimeString format="102">'
   cTagEnd   := '</udt:DateTimeString>'
   xRet        :=  ExtractTag( cXml, cTagStart, cTagEnd )
   cRet        := SubStr( xRet, 1, 8 )
   dRet        := Stod( cRet )

   REPLACE ISU_DATE WITH dRet

Thanks

Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: how to write this Line ?
Posted: Fri Nov 28, 2025 04:19 PM

hi,

alerchster wrote:
REPLACE ISU_DATE WITH Stod( SubStr( ExtractTag( cXml, [<udt:DateTimeString format="102">], [</udt:DateTimeString>] ), 1, 8 ) )

maybe

YES, it work without "quote" ?! :)
THX very much

greeting,

Jimmy

Continue the discussion