I have to read an XML file and write the information to a dbf .
Is there a parser to see the fields and contents of the fields
.
Thanks .
I have to read an XML file and write the information to a dbf .
Is there a parser to see the fields and contents of the fields
.
Thanks .
I give a look at the previous message and try this sample but have an error message at this instruction : oRs:Open( oStream )
What to do ??
FUNCTION MAIN()
LOCAL oStream, oRs
LOCAL i
oStream = CREATEOBJECT( "ADODB.Stream" )
oStream:Open()
oStream:WriteText( MEMOREAD( "TEST.XML" ) )
oStream:Position = 0
oRs = CREATEOBJECT( "ADODB.Recordset" )
oRs:Open( oStream ) <=== Error at this line ???
oStream:Close()
WHILE !oRs:EOF
FOR i = 0 TO oRs:Fields:Count - 1
? oRs:Fields( i ):Value
NEXT
?
oRs:MoveNext()
ENDDO
oRs:Close()
INKEY( 0 )
RETURN NIL
EMG
EMAG Software Homepage: http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: http://www.emagsoftware.it/tbosg
The EMG Music page: http://www.emagsoftware.it/emgmusic
Enrico Maria Giordano
Posts: 2991
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Website
Probably your TEST.XML is not a valid XML file.
EMG
Here is the xml file i use for the test .
Thanks for your help .
<?xml version='1.0' encoding='UTF-8'?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Sources</title>
<link>http://www.fivetechsoft.com/news</link>
<description>Dynamic news reader</description>
<item>
<title>News</title>
<link>News</link>
<description>News sources</description>
<pubDate>23 Jan 2009 10:04 am</pubDate>
</item>
<item>
<title>Tech</title>
<link>Tech</link>
<description>Tech sources</description>
<pubDate>23 Jan 2009 10:04 am</pubDate>
</item>
</channel>
</rss>
Sorry, it seems that your XML file is not compatible with ADO stream format.
EMG
Could you show me a sample of a good xml file .
Thanks .
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='FIRST' rs:number='1' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20'/>
</s:AttributeType>
<s:AttributeType name='LAST' rs:number='2' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20'/>
</s:AttributeType>
<s:AttributeType name='STREET' rs:number='3' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='30'/>
</s:AttributeType>
<s:AttributeType name='CITY' rs:number='4' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='30'/>
</s:AttributeType>
<s:AttributeType name='STATE' rs:number='5' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='2'/>
</s:AttributeType>
<s:AttributeType name='ZIP' rs:number='6' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='10'/>
</s:AttributeType>
<s:AttributeType name='HIREDATE' rs:number='7' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='dateTime' rs:dbtype='variantdate' dt:maxLength='16' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='MARRIED' rs:number='8' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='boolean' dt:maxLength='2' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='AGE' rs:number='9' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='float' dt:maxLength='8' rs:precision='15' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='SALARY' rs:number='10' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='float' dt:maxLength='8' rs:precision='15' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='NOTES' rs:number='11' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='70'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row FIRST='Homer' LAST='Simpson' STREET='32179 Maiden Lane' CITY='Springfield' STATE='IL' ZIP='20503-8202'
HIREDATE='1992-09-18T00:00:00' MARRIED='True' AGE='91' SALARY='5900' NOTES='This is a test for record 1'/>
<z:row FIRST='Ceci' LAST='Gibbard' STREET='9540 Raynes Park Road' CITY='Miami' STATE='MA' ZIP='55774-2304' HIREDATE='1984-10-17T00:00:00'
MARRIED='False' AGE='28' SALARY='123700' NOTES='This is a test for record 2'/>
<z:row FIRST='Reg' LAST='Kaczocha' STREET='30522 Park Ten Place' CITY='Scottsdale' STATE='WY' ZIP='09226-1483'
HIREDATE='1989-05-23T00:00:00' MARRIED='True' AGE='43' SALARY='82900' NOTES='This is a test for record 3'/>
<z:row FIRST='Ralph' LAST='Jochum' STREET='8211 Carnegie Center' CITY='Hingham' STATE='SD' ZIP='71947-5114'
HIREDATE='1985-05-09T00:00:00' MARRIED='False' AGE='34' SALARY='138300' NOTES='This is a test for record 4'/>
<z:row FIRST='Simpson' LAST='Jaffee' STREET='32736 Meadowbrook Drive' CITY='Nedlands' STATE='ID' ZIP='38179-3789'
HIREDATE='1990-12-11T00:00:00' MARRIED='True' AGE='88' SALARY='51800' NOTES='This is a test for record 5'/>
</rs:data>
</xml>Enrico,
I try with your sample
I still have an error on line 18 Open methode ===> oRs:Open( oStream )
Here is my code :
FUNCTION MAIN()
LOCAL oStream, oRs
LOCAL i
msgalert(MEMOREAD( "TEST.XML" ))
oStream = CREATEOBJECT( "ADODB.Stream" )
oStream:Open()
MsgAlert("Ok open")
oStream:WriteText( MEMOREAD( "TEST.XML" ) )
MsgAlert("Ok read")
oStream:Position = 0
oRs = CREATEOBJECT( "ADODB.Recordset" )
MsgAlert("Ok Record set")
oRs:Open( oStream ) && ERROR with this Line
msgAlert("Ok open stream")
oStream:Close()
WHILE !oRs:EOF
FOR i = 0 TO oRs:Fields:Count - 1
? oRs:Fields( i ):Value
NEXT
?
oRs:MoveNext()
ENDDO
oRs:Close()
INKEY( 0 )
RETURN NIL
Works fine here.
EMG