![phoenix](https://d1a29h5kxv3oc2.cloudfront.net/dist/img/phoenix.81914efc7207f6a059bd10f5d3fd5f89.png)
XML Import into MySQL Database
- or -
Post a project like this2773
$$
- Posted:
- Proposals: 9
- Remote
- #1349150
- Completed
C#, .NET & MSSQL | Angular, Vuejs & Typescript| Cordova & Ionic | PHP & Laravel
![Top Seller with earnings over £100k Top Seller with earnings over £100k](https://dw3i9sxi97owk.cloudfront.net/uploads/prizes/badges/6848fd9e0514ae9277cce59806b79dc5.png)
![Top Endorsed Top Endorsed](https://dw3i9sxi97owk.cloudfront.net/uploads/prizes/badges/ffdd1b856a16c89191f1150e4430076b.png)
Brochure, Flyer, Corporate Identity, Webdesign, PHP, MySQL, NodeJS, WordPress, Android, iOS, Content Writing, Angular JS,
![Top Endorsed Top Endorsed](https://dw3i9sxi97owk.cloudfront.net/uploads/prizes/badges/ffdd1b856a16c89191f1150e4430076b.png)
Top rated PHP Web Development | WordPress | Magento | Drupal | OpenCart | PrestaShop | Joomla
![Top Endorsed Top Endorsed](https://dw3i9sxi97owk.cloudfront.net/uploads/prizes/badges/ffdd1b856a16c89191f1150e4430076b.png)
538759455855524549973193620070663489440401050754803688
![HawksCode T.](https://dw3i9sxi97owk.cloudfront.net/uploads/thumbs/fe3722665d069a52201a3ec34e834c9f_70x70.png)
![Hafiz M.](https://dw3i9sxi97owk.cloudfront.net/uploads/thumbs/88282c036cf1d0ab147556fdc3e862a2_70x70.jpg)
![Emil T.](https://dw3i9sxi97owk.cloudfront.net/uploads/thumbs/bbdf863f49508081f5e362bbdf34fdc9_70x70.jpg)
![Neil X.](https://dw3i9sxi97owk.cloudfront.net/uploads/thumbs/b13781cd4fa60f47a3b5a65fe0e9aa93_70x70.jpg)
Description
Experience Level: Intermediate
General information for the business: Web services company
Database management system (DBMS): MySQL
Description of requirements/functionality: You will be taking a flat XML File and automatically importing into a MySQL database, into several tables. The import should take care of updating the database if the record exists or adding if it does not already exist. Verification and validation will be required to ensure the integrity of the Db.
If the record is NOT added OR updated it will need to be flagged for deletion (we will take care of cleaning out the records marked for deletion).
The XML file will have records identified with a tag of Property - each property will be subordinate to a record Branch.
The XML file is just ONE file that will be refreshed every hour - you do not need to worry about this process - your solution will just import the file into the MySQL database.
The structure of the XML file has been supplied in the original specification HERE. The key thing is that the XML is one flat XML file, but this will need to be split into different tables based on the XML structure. Please look at the bit of the XML file that shows "ROOMS". This is part of the "PROPERTY" record. Because there are 1 or more rooms it makes sense to put these records into separate tables. Again IF you are a developer for DB's this will make sense and you will understand what is required jut by looking at the XML sample file structure.
IF you look at the XML file you will find a tag/field called "property" that is nestled under "branch". So for each branch there will be potentially 100's of houses (properties). Each property has several fields in the xml file. Some of the fields (such as rooms) will need to be added to its own table, as rooms have multiple properties (YOU need to study the XML file to understand the format).
The format of the XML will always be the same.
So your solution will import file as per original specification.
BE SURE YOU UNDERSTAND WHAT IS REQUIRED OR ASK ME. PLEASE READ THIS SPECIFICATION CAREFULLY AS I AM GETTING SOME QUESTIONS THAT COULD EASILY BE ANSWERED BY READY THIS AND STUDYING THE XML FILE ATTACHED.
So the structure of the XML is:
BRANCH ID=1
PROPERTY ID=xyz
Property fields to be imported
PROPERTY ID=xyz1
Property fields to be imported
PROPERTY ID=xyz12
Property fields to be imported
BRANCH ID=2
PROPERTY ID=xyz34
Property fields to be imported
PROPERTY ID=xyz56
Property fields to be imported
PROPERTY ID=xyz89
Property fields to be imported
etc
etc
(See the sample XML files attached for details)
So for each BRANCH there will be 100's of PROPERTY (Houses) records.
Your solution needs to check the "branchID/propertyID" and apply the logic below if the record exists already in the database. This should be very easy for you to understand if you are a developer, it's called database relational logic. E.g. check if BranchID = 1 and PropertyID=xyz exists already in the table. If it does follow the logic:
If the record is NOT "added" OR "updated" it will need to be "flagged for deletion" (we will take care of cleaning out the records marked for deletion).
This routine will have to be run every hour probably via a Server CRON job and a report emailed to a specified user with records:
* Updated
* Added
* Flagged for deletion (See above to understand why a record would be flagged for deletion)
* Time taken to complete
* Any errors (completion status)
The XML file is a flat file that contains 100's of records. Some of the information will need to be split into multiple MySql tables to create a relational db solution.
Specific technologies required: XML, MySQL, PHP
Extra notes: Sample XML record attached. This will be part of a larger XML file. To be extracted and imported into MySQL via PHP and a CRON job running hourly on the web server. As per requirements above.
Database management system (DBMS): MySQL
Description of requirements/functionality: You will be taking a flat XML File and automatically importing into a MySQL database, into several tables. The import should take care of updating the database if the record exists or adding if it does not already exist. Verification and validation will be required to ensure the integrity of the Db.
If the record is NOT added OR updated it will need to be flagged for deletion (we will take care of cleaning out the records marked for deletion).
The XML file will have records identified with a tag of Property - each property will be subordinate to a record Branch.
The XML file is just ONE file that will be refreshed every hour - you do not need to worry about this process - your solution will just import the file into the MySQL database.
The structure of the XML file has been supplied in the original specification HERE. The key thing is that the XML is one flat XML file, but this will need to be split into different tables based on the XML structure. Please look at the bit of the XML file that shows "ROOMS". This is part of the "PROPERTY" record. Because there are 1 or more rooms it makes sense to put these records into separate tables. Again IF you are a developer for DB's this will make sense and you will understand what is required jut by looking at the XML sample file structure.
IF you look at the XML file you will find a tag/field called "property" that is nestled under "branch". So for each branch there will be potentially 100's of houses (properties). Each property has several fields in the xml file. Some of the fields (such as rooms) will need to be added to its own table, as rooms have multiple properties (YOU need to study the XML file to understand the format).
The format of the XML will always be the same.
So your solution will import file as per original specification.
BE SURE YOU UNDERSTAND WHAT IS REQUIRED OR ASK ME. PLEASE READ THIS SPECIFICATION CAREFULLY AS I AM GETTING SOME QUESTIONS THAT COULD EASILY BE ANSWERED BY READY THIS AND STUDYING THE XML FILE ATTACHED.
So the structure of the XML is:
BRANCH ID=1
PROPERTY ID=xyz
Property fields to be imported
PROPERTY ID=xyz1
Property fields to be imported
PROPERTY ID=xyz12
Property fields to be imported
BRANCH ID=2
PROPERTY ID=xyz34
Property fields to be imported
PROPERTY ID=xyz56
Property fields to be imported
PROPERTY ID=xyz89
Property fields to be imported
etc
etc
(See the sample XML files attached for details)
So for each BRANCH there will be 100's of PROPERTY (Houses) records.
Your solution needs to check the "branchID/propertyID" and apply the logic below if the record exists already in the database. This should be very easy for you to understand if you are a developer, it's called database relational logic. E.g. check if BranchID = 1 and PropertyID=xyz exists already in the table. If it does follow the logic:
If the record is NOT "added" OR "updated" it will need to be "flagged for deletion" (we will take care of cleaning out the records marked for deletion).
This routine will have to be run every hour probably via a Server CRON job and a report emailed to a specified user with records:
* Updated
* Added
* Flagged for deletion (See above to understand why a record would be flagged for deletion)
* Time taken to complete
* Any errors (completion status)
The XML file is a flat file that contains 100's of records. Some of the information will need to be split into multiple MySql tables to create a relational db solution.
Specific technologies required: XML, MySQL, PHP
Extra notes: Sample XML record attached. This will be part of a larger XML file. To be extracted and imported into MySQL via PHP and a CRON job running hourly on the web server. As per requirements above.
![Jonathan C.](https://www.peopleperhour.com/imgs/default_avatar_light_70x70.png)
Jonathan C.
100% (1)Projects Completed
2
Freelancers worked with
2
Projects awarded
67%
Last project
30 Nov 2016
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
Is the Database already designed and set up?
What about records that are already in the Database but aren't updated? Are they deleted? That is what usually happens with Property XML importsJonathan C.07 Nov 2016Database is not already setup (would need to be created - relational)
Existing records in the Db that are not updated or added would need to be markedKnutsford Software Ltd07 Nov 2016Marked? You mean marked as deleted but not actually deleted? Won't the Database get rather big very quickly?
Is there a site already that we can see so we have some idea of what tables are needed
217625
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies