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
Return to the default flat view Create a new topic Submit Reply
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:
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
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: php code
Next Topic: Books?
Goto Forum:
  

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

Current Time: Sat Nov 23 14:31:21 GMT 2024

Total time taken to generate the page: 0.04200 seconds