Post Project
  • Search
    • Buyers can
    • Search offers to buy now
    • Search freelancers to request a proposal
    • Freelancers can
    • Search projects to quote on
  • How it works
  • Log in
  • Sign up
  • Freelancer?
Browse by Category
    Technology & ProgrammingWriting & TranslationDesignDigital MarketingVideo, Photo & ImageBusinessMusic & AudioMarketing, Branding & SalesSocial Media

    XML Import into MySQL Database

    - or -

    Post a project like this
    2238
    $$
    • Posted: 6 years ago
    • Proposals: 9
    • Remote
    • #1349150
    • Completed
    Abed A.
    Abed A.
    C#, .NET & MSSQL | Angular, Vuejs & Typescript| Cordova & Ionic | PHP & Laravel
    Top Seller with earnings over £100kTop Endorsed
    United Kingdom Ystrad Mynach
    Hafiz M.
    Hafiz M.
    Developer
    Top Endorsed
    United Kingdom London
    Emil T.
    Emil T.
    Laravel , WordPress, Angular.js ,Bootstrap, MySQL, jQuery , Joomla
    Top Endorsed
    Bulgaria Sofia
    Neil X.
    Neil X.
    PHP/MySQL Web Developer and Linux Server Administrator
    United Kingdom City of London
    Deepesh G.
    Deepesh G.
    Brochure, Flyer, Corporate Identity, Webdesign, PHP, MySQL, NodeJS, WordPress, Android, iOS, Content Writing, Angular JS,
    Top Endorsed
    India Indore
    Knutsford Software Ltd
    Knutsford Software Ltd
    Freelance Web Developer
    United Kingdom Knutsford
    Ahmad E.
    Ahmad E.
    Amazon SP & MWS API Developer | PHP Expert | Integration Expert
    Top Endorsed
    Palestinian Territory, Occupied Gaza
    HawksCode T.
    HawksCode T.
    Website & S/W Development, Mobile Apps, ERP, IT Consulting, SEO
    Top Endorsed
    India Delhi
    Joe I.
    Joe I.
    Top rated PHP Web Development | WordPress | Magento | Drupal | OpenCart | PrestaShop | Joomla
    Top Endorsed
    United Kingdom Leicester
    538759524549973193620070663489440408036884558551050754
    Abed A.Hafiz M.Emil T.Neil X.Deepesh G. + 4 others have already sent a proposal.
    • 1
    • 1

    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.
    •  
    •  
    Jonathan C.
    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 in

    Clarification Board Ask a Question

    • 07 Nov 2016Knutsford Software Ltd

      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 imports

      Jonathan C.07 Nov 2016

      Database 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 marked

      Knutsford Software Ltd07 Nov 2016

      Marked? 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

      • Show more messages
    217625
    2238
    $$

    - or -

    Post a project like this
    Jonathan C.
    Jonathan C.
    100% (1)
    Projects Completed
    2
    Freelancers worked with
    2
    Projects awarded
    67%
    Last project
    30 Nov 2016
    United Kingdom

    Related project Searches


    mysql cron database management system (dbms) development Extensible Markup Language (XML) extraction PHP programming language relational databases web service

    Product

    • About
    • Team
    • Careers

    Support

    • How it works
    • Trust & Safety
    • Help Centre

    Discover

    • GuidesStoriesNews

    Resources

    • Customer Stories
    • Business Cost Calculator
    • Startup Cities

    Browse

    • Freelance Services
    • Freelance Services By Country
    • Freelance Skills
    • Terms
    • Privacy
    • Sitemap
    • Company Details
    • © 2023 People Per Hour Ltd
    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