FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Import values from XML file
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Import values from XML file [message #176193] Wed, 30 November 2011 23:30 Go to next message
Sarah is currently offline  Sarah
Messages: 30
Registered: December 2010
Karma: 0
Member
I've an XML file with this structure

<?xml version="1.0" encoding="UTF-8"?>
<azienda tabella="tb">
<riga IdAA="1" DesBB="Eliminazione" />
<riga IdAA="2" DesBB="Controllo" />
</azienda>

can you tell me how can I save each row in my DB?

I don't know how to create a function for read all values and save in
DB table

Thanks
Re: Import values from XML file [message #176194 is a reply to message #176193] Thu, 01 December 2011 02:21 Go to previous messageGo to next message
Hans Olo is currently offline  Hans Olo
Messages: 7
Registered: October 2011
Karma: 0
Junior Member
On 11/30/2011 5:30 PM, Sarah cried from the depths of the abyss:
> I've an XML file with this structure
>
> <?xml version="1.0" encoding="UTF-8"?>
> <azienda tabella="tb">
> <riga IdAA="1" DesBB="Eliminazione" />
> <riga IdAA="2" DesBB="Controllo" />
> </azienda>
>
> can you tell me how can I save each row in my DB?
>
> I don't know how to create a function for read all values and save in
> DB table

I do this quite often, and use PHP's DOM functions to read the .xml

http://php.net/manual/en/book.dom.php

Once you can read through the .xml file it's fairly basic how to insert
into a table.
Re: Import values from XML file [message #177424 is a reply to message #176194] Tue, 27 March 2012 17:26 Go to previous message
seeWebInstead is currently offline  seeWebInstead
Messages: 14
Registered: October 2010
Karma: 0
Junior Member
>> I've an XML file with this structure
(structure snipped)
>> can you tell me how can I save each row in my DB?
>> I don't know how to create a function for read all values and save in
>> DB table
> From: Hans Olo <doc...@vaderlishious.com>
> I do this quite often, and use PHP's DOM functions to read the .xml

I agree, with one additional suggestion later below.

> http://php.net/manual/en/book.dom.php

Note that for this purpose of reading an existing XML file, most of
that manual can be ignored. All you need are the methods to tell
the children of a given node, and the type and (text) contents of
each node. All the modification methods are moot to your needs.

> Once you can read through the .xml file it's fairly basic how to
> insert into a table.

Now here's my additional suggestion: The XML DOM parser merely
validates that the file is valid XML, and converts it into a parse
tree. It doesn't verify that the structure (tree = DOM) matches
what you expect for your application. IMO it's dangerous to
traverse the tree node by node, copying data directly into DB rows,
because if there's any mistake in the XML, you've already blindly
copied earlier data into tables and thus have a table that isn't
completely updated, i.e. is an inconsistent mess. So what I do
instead is to validate the *entire* DOM node by node, copying all
the data into a tree o nested associative array. If I discover a
mistake in the structure after I've built part of the tree, no
trouble, I "die" and the nested associative array is discarded, and
the DB table is left exactly as it was at the start. If the
validation process runs to completion, then I know the tree is
entirely correct, and *then* I can copy the data from the nested
associative array into the DB tables, after which the DB tables
will again be in a consistent state.

It's an extra step the way I do it, but I believe it's safer.
But it's your choice whether you do that or not.

Google-groups-search-key: imtrgfdi
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: php code
Next Topic: Books?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Sep 20 16:44:13 GMT 2024

Total time taken to generate the page: 0.02370 seconds