FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Creating an XML file
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Creating an XML file
Posted: Wed Jul 26, 2017 07:45 PM

Hi, all !

I made a request to the site (httpxmlreques). As a result, the ResponseXML property is an XML object. Is it possible to save the object as XML file ?

Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: Creating an XML file
Posted: Wed Jul 26, 2017 08:12 PM

nFileHandle := FCreate( "MyDoc.xml", 0 )
// cXml would be your response from the server
FWrite( nFileHandle, cXml )
FClose( nFileHandle )

This should work ....

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Creating an XML file
Posted: Thu Jul 27, 2017 06:50 AM

Tim, thank you for your help. But if you save the object in ResponseXML XML file using fwrite, the length of the file equal to 0. Perhaps you first need to convert the ResponseXML object to a string, but I don't know how to do it.

Posts: 17
Joined: Tue Oct 06, 2015 07:06 AM
Re: Creating an XML file
Posted: Thu Jul 27, 2017 11:24 AM
Natter wrote:Hi, all !

I made a request to the site (httpxmlreques). As a result, the ResponseXML property is an XML object. Is it possible to save the object as XML file ?


Try ResponseXML:xml
Posts: 3
Joined: Thu Sep 01, 2016 01:18 PM
Re: Creating an XML file
Posted: Thu Jul 27, 2017 12:33 PM

Try this:

MEMOWRIT('c:\response.xml' , cXML , .F.)

Posts: 274
Joined: Fri Apr 04, 2008 01:25 PM
Re: Creating an XML file
Posted: Thu Jul 27, 2017 12:51 PM

If you have an (x)harbour object from class TXml, say oXml, you can make a string by calling:
oXml:ToString( nStyle )
works too, if you don't pass a parameter for style.

The source of the class is in \source\rtl\txml.prg, if you've downloaded (x)harbour source code.
There even is a Method Write, which takes two parameters: fHandle and nStyle
So if you've created a new file and have the handle in fHandle, you could simply call:
oXml:Write( fHandle )

Best Regards,

Gilbert Kuhnert
CTO Software GmbH
http://www.ctosoftware.de
Posts: 1392
Joined: Mon May 14, 2007 09:49 AM
Re: Creating an XML file
Posted: Thu Jul 27, 2017 02:15 PM

Thank you all. Understood. Object responceXML empty (the site does not support header to text/xml) so the persistent xml file was also empty.

Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: Creating an XML file
Posted: Thu Jul 27, 2017 02:36 PM

First, I create an xml document: LOCAL oXmlDoc := TXmlDocument():new( )
I also use from windows: iDLL := LoadLibrary( "wininet.dll" )

Then I create the XML I am going to send them. It's a string called cXML ... contains the format they want.
Next, I submit it:
IF .NOT. oHttp:open()
MsgAlert( "Connection error:", oHttp:lastErrorMessage( ) )
RETURN
ENDIF
oHttp:Post( cXml)
cRet := oHttp:readAll( )
oHttp:close()

The value cRet can then be parsed, or written to a file.

At least, it works fine for me this way but may vary depending on how the resource sends you the files.

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
Posts: 1467
Joined: Mon Oct 10, 2005 11:26 AM
Re: Creating an XML file
Posted: Fri Jul 28, 2017 08:59 AM

Tim,

I make XML-files the way you suggested (usingFWRITE, etc;).
It works perfectly.

Regards,

Michel D.
Genk (Belgium)


_____________________________________________________________________________________________

I use : FiveWin for (x)Harbour v. 25.12 - Harbour 3.2.0 (May 2025) - xHarbour Builder (January 2020) - Bcc773

Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: Creating an XML file
Posted: Fri Jul 28, 2017 03:35 PM

Michel,

I've been using XML for a couple of years, and now JSON. I usually will be able to deal with most operations in memory by creating an XML formatted output, then parsing the reply. When I need the actual file to be saved, FWRITE has worked fine and the resulting files can be read easily in a browser.

Tim

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit

Continue the discussion