Creating an XML file

Creating an XML file

Postby Natter » Wed Jul 26, 2017 7: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 ?
Natter
 
Posts: 1203
Joined: Mon May 14, 2007 9:49 am

Re: Creating an XML file

Postby TimStone » Wed Jul 26, 2017 8: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
User avatar
TimStone
 
Posts: 2943
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Creating an XML file

Postby Natter » Thu Jul 27, 2017 6: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.
Natter
 
Posts: 1203
Joined: Mon May 14, 2007 9:49 am

Re: Creating an XML file

Postby darioflores » 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
darioflores
 
Posts: 17
Joined: Tue Oct 06, 2015 7:06 am

Re: Creating an XML file

Postby EduardoSP6 » Thu Jul 27, 2017 12:33 pm

Try this:

MEMOWRIT('c:\response.xml' , cXML , .F.)
EduardoSP6
 
Posts: 3
Joined: Thu Sep 01, 2016 1:18 pm
Location: Rio de Janeiro - Brazil

Re: Creating an XML file

Postby gkuhnert » 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
User avatar
gkuhnert
 
Posts: 274
Joined: Fri Apr 04, 2008 1:25 pm
Location: Aachen - Germany // Kerkrade - Netherlands

Re: Creating an XML file

Postby Natter » Thu Jul 27, 2017 2: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.
Natter
 
Posts: 1203
Joined: Mon May 14, 2007 9:49 am

Re: Creating an XML file

Postby TimStone » Thu Jul 27, 2017 2: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
User avatar
TimStone
 
Posts: 2943
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: Creating an XML file

Postby driessen » Fri Jul 28, 2017 8: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. 24.07 - Harbour 3.2.0 (February 2024) - xHarbour Builder (January 2020) - Bcc773
User avatar
driessen
 
Posts: 1422
Joined: Mon Oct 10, 2005 11:26 am
Location: Genk, Belgium

Re: Creating an XML file

Postby TimStone » Fri Jul 28, 2017 3: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
User avatar
TimStone
 
Posts: 2943
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Maurizio and 31 guests